This repository was archived by the owner on Nov 23, 2023. It is now read-only.
File tree 2 files changed +81
-0
lines changed
main/java/alexengrig/lambdax/collection
test/java/alexengrig/lambdax/collection
2 files changed +81
-0
lines changed Original file line number Diff line number Diff line change
1
+ package alexengrig .lambdax .collection ;
2
+
3
+ import java .util .Queue ;
4
+ import java .util .function .Consumer ;
5
+ import java .util .function .Predicate ;
6
+
7
+ /**
8
+ * This utility class contains useful lambdas for {@link Queue}
9
+ *
10
+ * @author Grig Alex
11
+ * @see Queue
12
+ * @see Consumer
13
+ * @see Predicate
14
+ * @since 0.1.0
15
+ */
16
+ public final class QueueX {
17
+ private QueueX () {
18
+ }
19
+
20
+ public static <E > Predicate <Queue <? super E >> add (E item ) {
21
+ return q -> q .add (item );
22
+ }
23
+
24
+ public static <E > Consumer <Queue <? super E >> onlyAdd (E item ) {
25
+ return q -> q .add (item );
26
+ }
27
+
28
+ public static <E > Predicate <Queue <? super E >> offer (E item ) {
29
+ return q -> q .offer (item );
30
+ }
31
+
32
+ public static <E > Consumer <Queue <? super E >> onlyOffer (E item ) {
33
+ return q -> q .offer (item );
34
+ }
35
+ }
Original file line number Diff line number Diff line change
1
+ package alexengrig .lambdax .collection ;
2
+
3
+ import org .junit .Test ;
4
+
5
+ import java .util .ArrayDeque ;
6
+ import java .util .Queue ;
7
+ import java .util .function .Consumer ;
8
+ import java .util .function .Predicate ;
9
+
10
+ import static org .junit .Assert .assertTrue ;
11
+
12
+ public class QueueXTest {
13
+ @ Test
14
+ public void checkAdd () {
15
+ int value = 1 ;
16
+ Queue <Number > numbers = new ArrayDeque <>();
17
+ Predicate <Queue <? super Number >> addValue = QueueX .add (value );
18
+ assertTrue (addValue .test (numbers ));
19
+ }
20
+
21
+ @ Test
22
+ public void checkOnlyAdd () {
23
+ int value = 2 ;
24
+ Queue <Number > numbers = new ArrayDeque <>();
25
+ Consumer <Queue <? super Number >> onlyAddValue = QueueX .onlyAdd (value );
26
+ onlyAddValue .accept (numbers );
27
+ assertTrue (numbers .contains (value ));
28
+ }
29
+
30
+ @ Test
31
+ public void checkOffer () {
32
+ int value = 3 ;
33
+ Queue <Number > numbers = new ArrayDeque <>();
34
+ Predicate <Queue <? super Number >> offerValue = QueueX .offer (value );
35
+ assertTrue (offerValue .test (numbers ));
36
+ }
37
+
38
+ @ Test
39
+ public void checkOnlyOffer () {
40
+ int value = 4 ;
41
+ Queue <Number > numbers = new ArrayDeque <>();
42
+ Consumer <Queue <? super Number >> onlyOfferValue = QueueX .onlyOffer (value );
43
+ onlyOfferValue .accept (numbers );
44
+ assertTrue (numbers .contains (value ));
45
+ }
46
+ }
You can’t perform that action at this time.
0 commit comments