1
1
package org .organicdesign .fp .oneOf ;
2
2
3
3
import org .jetbrains .annotations .NotNull ;
4
- import org .junit .Test ;
4
+ import org .junit .jupiter . api . Test ;
5
5
import org .organicdesign .testUtils .EqualsContract ;
6
6
7
- import static org .junit .Assert .assertEquals ;
7
+ import static org .junit .jupiter .api .Assertions .assertEquals ;
8
+ import static org .junit .jupiter .api .Assertions .assertThrowsExactly ;
8
9
import static org .organicdesign .fp .oneOf .Option .none ;
9
10
import static org .organicdesign .testUtils .Serialization .serializeDeserialize ;
10
11
@@ -20,7 +21,8 @@ static class Str_Int extends OneOf2<String,Integer> {
20
21
static Option <Str_Int > ofNone () { return Option .none (); }
21
22
}
22
23
23
- @ Test public void testBasics () {
24
+ @ Test
25
+ public void testBasics () {
24
26
Option <Str_Int > si = Str_Int .of (57 );
25
27
assertEquals (Integer .valueOf (57 ), si .match (some -> some .match (x -> -99 ,
26
28
y -> y ),
@@ -42,7 +44,9 @@ static class Str_Int extends OneOf2<String,Integer> {
42
44
assertEquals (None .NONE , serializeDeserialize (none ()));
43
45
}
44
46
45
- @ Test public void testEquality () {
47
+ @ SuppressWarnings ({"deprecation" , "RedundantSuppression" })
48
+ @ Test
49
+ public void testEquality () {
46
50
assertEquals (0 , Str_Int .of ("" ).hashCode ());
47
51
assertEquals (1 , Str_Int .of (0 ).hashCode ());
48
52
assertEquals (none ().hashCode (), Str_Int .ofNone ().hashCode ());
@@ -56,24 +60,36 @@ static class Str_Int extends OneOf2<String,Integer> {
56
60
Str_Int .of (-97 ));
57
61
}
58
62
59
- @ Test (expected = IllegalArgumentException .class )
60
- public void subClassExa_n () { new Str_Int ("hi" , -1 ); }
63
+ @ Test
64
+ public void subClassExceptions () {
65
+ Exception e ;
61
66
62
- @ Test (expected = IllegalArgumentException .class )
63
- public void subClassEx_bn () { new Str_Int (1 , -1 ); }
67
+ e = assertThrowsExactly (IllegalArgumentException .class ,
68
+ () -> new Str_Int ("hi" , -1 ));
69
+ assertEquals ("Selected item index must be 0-1" , e .getMessage ());
64
70
65
- @ Test (expected = ClassCastException .class )
66
- public void subClassExab_0 () { new Str_Int (1 , 0 ); }
71
+ e = assertThrowsExactly (IllegalArgumentException .class ,
72
+ () -> new Str_Int (1 , -1 ));
73
+ assertEquals ("Selected item index must be 0-1" , e .getMessage ());
67
74
68
- @ Test (expected = ClassCastException .class )
69
- public void subClassExa_1 () { new Str_Int ("hi" , 1 ); }
75
+ e = assertThrowsExactly (ClassCastException .class ,
76
+ () -> new Str_Int (1 , 0 ));
77
+ assertEquals ("You specified index 0, indicating a java.lang.String, but passed a java.lang.Integer" , e .getMessage ());
70
78
71
- @ Test (expected = IllegalArgumentException .class )
72
- public void subClassExa_2 () { new Str_Int ("hi" , 2 ); }
79
+ e = assertThrowsExactly (ClassCastException .class ,
80
+ () -> new Str_Int ("hi" , 1 ));
81
+ assertEquals ("You specified index 1, indicating a java.lang.Integer, but passed a java.lang.String" , e .getMessage ());
73
82
74
- @ Test (expected = IllegalArgumentException .class )
75
- public void subClassEx_b2 () { new Str_Int (1 , 2 ); }
83
+ e = assertThrowsExactly (IllegalArgumentException .class ,
84
+ () -> new Str_Int ("hi" , 2 ));
85
+ assertEquals ("Selected item index must be 0-1" , e .getMessage ());
76
86
77
- @ Test (expected = IllegalArgumentException .class )
78
- public void subClassEx_b3 () { new Str_Int (1 , 3 ); }
87
+ e = assertThrowsExactly (IllegalArgumentException .class ,
88
+ () -> new Str_Int (1 , 2 ));
89
+ assertEquals ("Selected item index must be 0-1" , e .getMessage ());
90
+
91
+ e = assertThrowsExactly (IllegalArgumentException .class ,
92
+ () -> new Str_Int (1 , 3 ));
93
+ assertEquals ("Selected item index must be 0-1" , e .getMessage ());
94
+ }
79
95
}
0 commit comments