Add quick check test for order and handle variants.

This commit is contained in:
Erik Stenman
2019-05-31 14:42:00 +02:00
parent cb8e2b07a4
commit 58daf1bb5c
3 changed files with 39 additions and 2 deletions
+1
View File
@@ -22,5 +22,6 @@ quickcheck_test_() ->
{setup, fun() -> eqc:start() end,
[ ?EQC_EUNIT(aefate_eqc, prop_roundtrip, 500),
?EQC_EUNIT(aefate_eqc, prop_format_scan, 2000),
?EQC_EUNIT(aefate_eqc, prop_order, 2000),
?EQC_EUNIT(aefate_eqc, prop_fuzz, 2000)
]}.
+21
View File
@@ -63,6 +63,27 @@ prop_fuzz() ->
true
end))).
prop_order() ->
?FORALL({FateData1, FateData2, FateData3}, {fate_data(), fate_data(), fate_data()},
case aeb_fate_data:lt(FateData1, FateData2) of
true ->
case aeb_fate_data:lt(FateData2, FateData3) of
true ->
equals(aeb_fate_data:lt(FateData1, FateData3), true);
false ->
equals(aeb_fate_data:lt(FateData2, FateData1), false)
end;
false ->
case aeb_fate_data:lt(FateData1, FateData3) of
true ->
equals(aeb_fate_data:lt(FateData2, FateData3), true);
false ->
equals(aeb_fate_data:elt(FateData2, FateData1), true)
end
end).
fate_data() ->
?SIZED(Size, ?LET(Data, fate_data(Size, [map, variant]), eqc_symbolic:eval(Data))).