1
+ package alexengrig .lambdax .collection ;
2
+
3
+ import org .junit .Test ;
4
+
5
+ import java .util .HashSet ;
6
+ import java .util .Set ;
7
+ import java .util .function .Consumer ;
8
+ import java .util .function .Function ;
9
+ import java .util .function .Predicate ;
10
+
11
+ import static org .junit .Assert .*;
12
+
13
+ public class SetXTest {
14
+ @ Test
15
+ public void checkContains () {
16
+ int value = 1 ;
17
+ Set <Number > numbers = new HashSet <>();
18
+ numbers .add (value );
19
+ Predicate <Set <? extends Number >> containsValue = SetX .contains (value );
20
+ assertTrue (containsValue .test (numbers ));
21
+ }
22
+
23
+ @ Test
24
+ public void checkContainsAll () {
25
+ int value = 2 ;
26
+ Set <Number > numbers = new HashSet <>();
27
+ numbers .add (value );
28
+ Set <Integer > values = new HashSet <>();
29
+ values .add (value );
30
+ Predicate <Set <? extends Number >> containsAllValues = SetX .containsAll (values );
31
+ assertTrue (containsAllValues .test (numbers ));
32
+ }
33
+
34
+ @ Test
35
+ public void checkAdd () {
36
+ int value = 3 ;
37
+ Set <Number > numbers = new HashSet <>();
38
+ Predicate <Set <? super Number >> addValue = SetX .add (value );
39
+ assertTrue (addValue .test (numbers ));
40
+ }
41
+
42
+ @ Test
43
+ public void checkAddAll () {
44
+ int value = 4 ;
45
+ Set <Number > numbers = new HashSet <>();
46
+ Set <Integer > values = new HashSet <>();
47
+ values .add (value );
48
+ Predicate <Set <? super Number >> addAllValues = SetX .addAll (values );
49
+ assertTrue (addAllValues .test (numbers ));
50
+ }
51
+
52
+ @ Test
53
+ public void checkOnlyAdd () {
54
+ int value = 5 ;
55
+ Set <Number > numbers = new HashSet <>();
56
+ Consumer <Set <? super Number >> onlyAddValue = SetX .onlyAdd (value );
57
+ onlyAddValue .accept (numbers );
58
+ assertTrue (numbers .contains (value ));
59
+ }
60
+
61
+ @ Test
62
+ public void checkOnlyAddAll () {
63
+ int value = 6 ;
64
+ Set <Number > numbers = new HashSet <>();
65
+ Set <Integer > values = new HashSet <>();
66
+ values .add (value );
67
+ Consumer <Set <? super Number >> onlyAddAllValues = SetX .onlyAddAll (values );
68
+ onlyAddAllValues .accept (numbers );
69
+ assertTrue (numbers .containsAll (values ));
70
+ }
71
+
72
+ @ Test
73
+ public void checkRemove () {
74
+ int value = 7 ;
75
+ Set <Number > numbers = new HashSet <>();
76
+ numbers .add (value );
77
+ Predicate <Set <? super Number >> removeValue = SetX .remove (value );
78
+ assertTrue (removeValue .test (numbers ));
79
+ }
80
+
81
+ @ Test
82
+ public void checkRemoveAll () {
83
+ int value = 8 ;
84
+ Set <Number > numbers = new HashSet <>();
85
+ numbers .add (value );
86
+ Set <Integer > values = new HashSet <>();
87
+ values .add (value );
88
+ Predicate <Set <? super Number >> removeAllValues = SetX .removeAll (values );
89
+ assertTrue (removeAllValues .test (numbers ));
90
+ }
91
+
92
+ @ Test
93
+ public void checkOnlyRemove () {
94
+ int value = 9 ;
95
+ Set <Number > numbers = new HashSet <>();
96
+ numbers .add (value );
97
+ Consumer <Set <? super Number >> onlyRemoveValue = SetX .onlyRemove (value );
98
+ onlyRemoveValue .accept (numbers );
99
+ assertFalse (numbers .contains (value ));
100
+ }
101
+
102
+ @ Test
103
+ public void checkOnlyRemoveAll () {
104
+ int value = 10 ;
105
+ Set <Number > numbers = new HashSet <>();
106
+ numbers .add (value );
107
+ Set <Integer > values = new HashSet <>();
108
+ values .add (value );
109
+ Consumer <Set <? super Number >> removeAllValues = SetX .onlyRemoveAll (values );
110
+ removeAllValues .accept (numbers );
111
+ assertFalse (numbers .containsAll (values ));
112
+ }
113
+
114
+ @ Test
115
+ public void checkRetainAll () {
116
+ int value = 11 ;
117
+ Set <Number > numbers = new HashSet <>();
118
+ numbers .add (value );
119
+ Set <Integer > values = new HashSet <>();
120
+ values .add (value );
121
+ Predicate <Set <? super Number >> retainAllValues = SetX .retainAll (values );
122
+ assertFalse (retainAllValues .test (numbers ));
123
+ }
124
+
125
+ @ Test
126
+ public void checkOnlyRetainAll () {
127
+ int value = 12 ;
128
+ Set <Number > numbers = new HashSet <>();
129
+ numbers .add (value );
130
+ Set <Integer > values = new HashSet <>();
131
+ values .add (value );
132
+ Consumer <Set <? super Number >> onlyRetainAllValues = SetX .onlyRetainAll (values );
133
+ onlyRetainAllValues .accept (numbers );
134
+ assertTrue (numbers .containsAll (values ));
135
+ }
136
+
137
+ @ Test
138
+ public void checkToArray () {
139
+ int value = 13 ;
140
+ Set <Number > numbers = new HashSet <>();
141
+ numbers .add (value );
142
+ Function <Set <? extends Number >, ? extends Number []> toIntegerArray = SetX .toArray (new Integer [0 ]);
143
+ assertArrayEquals (new Integer []{value }, toIntegerArray .apply (numbers ));
144
+ }
145
+
146
+ @ Test
147
+ public void checkToArrayWithGenerator () {
148
+ int value = 14 ;
149
+ Set <Number > numbers = new HashSet <>();
150
+ numbers .add (value );
151
+ Function <Set <? extends Number >, ? extends Number []> toIntegerArray = SetX .toArray (Integer []::new );
152
+ assertArrayEquals (new Integer []{value }, toIntegerArray .apply (numbers ));
153
+ }
154
+
155
+ @ Test
156
+ public void checkEquals () {
157
+ int value = 15 ;
158
+ Set <Number > numbers = new HashSet <>();
159
+ numbers .add (value );
160
+ Set <Integer > values = new HashSet <>();
161
+ values .add (value );
162
+ Predicate <Set <? extends Number >> equalsToValues = SetX .equalsTo (values );
163
+ assertTrue (equalsToValues .test (numbers ));
164
+ }
165
+ }
0 commit comments