2014-12-04 10 views
2

나는 test.check를 가지고 놀고 있는데,지도를 인수로 취하는 함수를 테스트하고있다. , 값이있는 명확하게 정의 된 발전기를 다른 한 예상 키 세트가,test.check로 구조화 된 맵 생성하기

{:name "Bob" :age 42 :email "[email protected]" :admin true} 

요점 :이지도는 같은 정의 된 구조를 가지고 않습니다.

나는 gen/map에서 살펴 보았다하지만, 더 구조화 된 키/값 쌍을 위해 그것을 사용하는 방법을 분명 아니다 :

(gen/sample (gen/map gen/keyword gen/boolean) 5) 
;; => ({} {:z false} {:k true} {:v8Z false} {:9E false, :3uww false, :2s true}) 

이 간단한 시나리오처럼 보인다,하지만 난 can'tfindan example.

test.check를 사용하여 여기에 설명 된 것과 같은 구조화 된 맵을 어떻게 생성 할 수 있습니까?

답변

4

gen/map 대신 gen/hash-map을 사용하십시오.

=> (gen/sample (gen/hash-map :name gen/string 
          :age gen/int 
          :email email-gen  ; from test.check examples 
          :admin gen/boolean)) 
({:email "[email protected]", :age 0, :name "", :admin true} 
{:email "[email protected]", :age -1, :name "Á6", :admin false} 
{:email "[email protected]", :age 4, :name "z", :admin true})