F #에서는 몇 가지 필드가있는 레코드가 있습니다. type myRecord = { a:float; b:float; c:float }
이 레코드를 사용하는 일부 속성을 테스트하기 위해 FsCheck를 사용하고 있습니다. let verify_this_property (r:myRecord) = myFunction(r) = (r.a * r.b)/r.c
아마도 바보 같은 질문이지만 FSCheck의 특정 크기 목록을 생성하려면 어떻게해야합니까? 내가 사용하여 제한 할 수 있습니다는 let fn_of_2_check xs = (xs.Length=2) ==> fn_of_2 xs
하지만, 분명히,이 목록의 부하를 버릴 것입니다. 여기에 2의 목록에 대한 테스트를 수행하고 true 또는 false을 반환합니다.
와 테스트 그래서 내가이 let ExpandAlterTest(t : Rule.t<Source.t,Source.t>) = convertToMeta t |> List.forall (fun x -> ruleIsAfterEBNF x)
을 가지고 있지만 예외 i'l 참조 FsCheck 를 사용하여이 기능 let extract_one_rule (rule:Rule.
유형 테스트가 성공적으로 수행되어 JSON과 다시 연결될 수 있다는 속성이 있습니다. 나는 현재 내가 좋아하는 것이 무엇 Check.Quick roundTrip<TypeName>
를 호출하여 실행 let roundTrip<'a when 'a : equality> (x: 'a) = (toJSON >> ofJSON) x = x
은 (내가 아는 유형 내
아마도 매우 간단 할 것 같지만 FsCheck를 처음 사용하고 있으며 왜 아래 오류가 발생하는지 이유를 모르겠습니다 ("Geneflect : System.Numerics.BigInteger 유형을 처리하지 못했습니다")? open System.Numerics
type NumericGenerator =
/// Generating BigIntege