16
16
17
17
package io .github .alexengrig .lambdax .collection ;
18
18
19
+ import io .github .alexengrig .lambdax .OptionalX ;
19
20
import org .junit .Test ;
20
21
21
22
import java .util .ArrayDeque ;
23
+ import java .util .Optional ;
22
24
import java .util .Queue ;
23
25
import java .util .function .Consumer ;
24
26
import java .util .function .Predicate ;
@@ -34,6 +36,16 @@ public void checkAdd() {
34
36
assertTrue (addValue .test (numbers ));
35
37
}
36
38
39
+ @ Test
40
+ public void checkAddOptional () {
41
+ double value = 1.1 ;
42
+ Queue <Number > numbers = new ArrayDeque <>();
43
+ Queue <Number > actual = Optional .of (numbers )
44
+ .filter (QueueX .add (value ))
45
+ .orElseThrow (IllegalStateException ::new );
46
+ assertTrue (actual .contains (value ));
47
+ }
48
+
37
49
@ Test
38
50
public void checkOnlyAdd () {
39
51
int value = 2 ;
@@ -43,6 +55,16 @@ public void checkOnlyAdd() {
43
55
assertTrue (numbers .contains (value ));
44
56
}
45
57
58
+ @ Test
59
+ public void checkOnlyAddOptional () {
60
+ double value = 2.1 ;
61
+ Queue <Number > numbers = new ArrayDeque <>();
62
+ Queue <Number > actual = Optional .of (numbers )
63
+ .map (OptionalX .peek (QueueX .onlyAdd (value )))
64
+ .orElseThrow (IllegalStateException ::new );
65
+ assertTrue (actual .contains (value ));
66
+ }
67
+
46
68
@ Test
47
69
public void checkOffer () {
48
70
int value = 3 ;
@@ -51,6 +73,16 @@ public void checkOffer() {
51
73
assertTrue (offerValue .test (numbers ));
52
74
}
53
75
76
+ @ Test
77
+ public void checkOfferOptional () {
78
+ double value = 3.1 ;
79
+ Queue <Number > numbers = new ArrayDeque <>();
80
+ Queue <Number > actual = Optional .of (numbers )
81
+ .filter (QueueX .offer (value ))
82
+ .orElseThrow (IllegalStateException ::new );
83
+ assertTrue (actual .contains (value ));
84
+ }
85
+
54
86
@ Test
55
87
public void checkOnlyOffer () {
56
88
int value = 4 ;
@@ -59,4 +91,14 @@ public void checkOnlyOffer() {
59
91
onlyOfferValue .accept (numbers );
60
92
assertTrue (numbers .contains (value ));
61
93
}
94
+
95
+ @ Test
96
+ public void checkOnlyOfferOptional () {
97
+ double value = 4.1 ;
98
+ Queue <Number > numbers = new ArrayDeque <>();
99
+ Queue <Number > actual = Optional .of (numbers )
100
+ .map (OptionalX .peek (QueueX .onlyOffer (value )))
101
+ .orElseThrow (IllegalStateException ::new );
102
+ assertTrue (actual .contains (value ));
103
+ }
62
104
}
0 commit comments