Mercurial > hg > Members > tatsuki > functionaljava-master > core
comparison src/test/java/fj/data/test/TestCheck.java @ 0:fe80c1edf1be
add getLoop
author | tatsuki |
---|---|
date | Fri, 20 Mar 2015 21:04:03 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:fe80c1edf1be |
---|---|
1 package fj.data.test; | |
2 | |
3 import fj.F2; | |
4 import fj.F3; | |
5 import fj.data.List; | |
6 import fj.test.Arbitrary; | |
7 import fj.test.CheckResult; | |
8 import fj.test.Gen; | |
9 import fj.test.Property; | |
10 import org.junit.*; | |
11 | |
12 import static fj.Function.compose; | |
13 import static fj.test.Arbitrary.*; | |
14 import static fj.test.Arbitrary.arbLong; | |
15 import static fj.test.Coarbitrary.coarbInteger; | |
16 import static fj.test.Coarbitrary.coarbLong; | |
17 import static fj.test.Property.prop; | |
18 import static fj.test.Property.property; | |
19 import static org.junit.Assert.*; | |
20 | |
21 public class TestCheck { | |
22 | |
23 @Test(timeout=1000 /*ms*/) | |
24 public void testExceptionsThrownFromGeneratorsArePropagated() { | |
25 Gen<Integer> failingGen = Gen.<Integer>value(0).map((i) -> { | |
26 throw new RuntimeException("test failure"); | |
27 }); | |
28 | |
29 Property p = property(arbitrary(failingGen), (Integer i) -> { | |
30 return prop(i == 0); | |
31 }); | |
32 | |
33 CheckResult res = p.check( | |
34 1, /*minSuccessful*/ | |
35 0, /*maxDiscarded*/ | |
36 0, /*minSize*/ | |
37 1 /*maxSize*/ | |
38 ); | |
39 assertTrue("Exception not propagated!", res.isGenException()); | |
40 } | |
41 } |