Skip to content

Commit c2ae323

Browse files
committed
Add Tests
1 parent 7a8de62 commit c2ae323

19 files changed

+294
-0
lines changed
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
package testSuite;
2+
3+
import java.util.ArrayList;
4+
import java.util.Date;
5+
6+
import liquidjava.specification.Refinement;
7+
8+
@SuppressWarnings("unused")
9+
public class CorrectNullChecks {
10+
11+
void testNullInteger() {
12+
Integer i = null;
13+
14+
@Refinement("_ == null")
15+
Integer i1 = i;
16+
17+
i = 123;
18+
19+
@Refinement("_ != null")
20+
Integer i2 = i;
21+
}
22+
23+
void testNullString() {
24+
String s = null;
25+
26+
@Refinement("_ == null")
27+
String s1 = s;
28+
29+
s = "hello";
30+
31+
@Refinement("_ != null")
32+
String s2 = s;
33+
}
34+
35+
void testNulls() {
36+
@Refinement("_ == null")
37+
String s = null;
38+
39+
@Refinement("_ == null")
40+
Integer i = null;
41+
42+
@Refinement("_ == null")
43+
Boolean b = null;
44+
45+
@Refinement("_ == null")
46+
Double d = null;
47+
48+
@Refinement("_ == null")
49+
Long l = null;
50+
51+
@Refinement("_ == null")
52+
Float f = null;
53+
54+
@Refinement("_ == null")
55+
Date dt = null;
56+
57+
@Refinement("_ == null")
58+
ArrayList<String> lst = null;
59+
}
60+
61+
void testNonNulls() {
62+
@Refinement("_ != null")
63+
String s = "hello";
64+
65+
@Refinement("_ != null")
66+
Integer i = 123;
67+
68+
@Refinement("_ != null")
69+
Boolean b = true;
70+
71+
@Refinement("_ != null")
72+
Double d = 1.0;
73+
74+
@Refinement("_ != null")
75+
Long l = 2L;
76+
77+
@Refinement("_ != null")
78+
Float f = 1.0f;
79+
80+
@Refinement("_ != null")
81+
Date dt = new Date();
82+
83+
@Refinement("_ != null")
84+
ArrayList<String> lst = new ArrayList<>();
85+
}
86+
87+
void testNullChecksInMethods() {
88+
@Refinement("_ != null")
89+
String x = returnNotNullIf(null);
90+
91+
@Refinement("_ != null")
92+
String y = returnNotNullTernary(null);
93+
94+
@Refinement("_ != null")
95+
String z = returnNotNullParam("not null");
96+
97+
@Refinement("_ == null")
98+
String w = returnNull();
99+
}
100+
101+
@Refinement("_ != null")
102+
String returnNotNullIf(String s) {
103+
if (s == null)
104+
s = "default";
105+
106+
return s;
107+
}
108+
109+
@Refinement("_ != null")
110+
String returnNotNullTernary(String s) {
111+
return s != null ? s : "default";
112+
}
113+
114+
@Refinement("_ != null")
115+
String returnNotNullParam(@Refinement("_ != null") String s) {
116+
return s;
117+
}
118+
119+
@Refinement("_ == null")
120+
String returnNull() {
121+
return null;
122+
}
123+
}

liquidjava-example/src/main/java/testSuite/ErrorAliasNotFound.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import liquidjava.specification.Refinement;
55

6+
@SuppressWarnings("unused")
67
public class ErrorAliasNotFound {
78

89
public static void main(String[] args) {
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Refinement Error
2+
package testSuite;
3+
4+
import liquidjava.specification.Refinement;
5+
6+
@SuppressWarnings("unused")
7+
public class ErrorBoxedBoolean {
8+
public static void main(String[] args) {
9+
@Refinement("_ == true")
10+
Boolean b = false;
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Refinement Error
2+
package testSuite;
3+
4+
import liquidjava.specification.Refinement;
5+
6+
@SuppressWarnings("unused")
7+
public class ErrorBoxedDouble {
8+
public static void main(String[] args) {
9+
@Refinement("_ > 0")
10+
Double d = -1.0;
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Refinement Error
2+
package testSuite;
3+
4+
import liquidjava.specification.Refinement;
5+
6+
@SuppressWarnings("unused")
7+
public class ErrorBoxedInteger {
8+
public static void main(String[] args) {
9+
@Refinement("_ > 0")
10+
Integer j = -1;
11+
}
12+
}

liquidjava-example/src/main/java/testSuite/ErrorGhostNotFound.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import liquidjava.specification.Refinement;
55

6+
@SuppressWarnings("unused")
67
public class ErrorGhostNotFound {
78

89
public void test() {

liquidjava-example/src/main/java/testSuite/ErrorLongUsagePredicates1.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import liquidjava.specification.Refinement;
55

6+
@SuppressWarnings("unused")
67
public class ErrorLongUsagePredicates1 {
78
void testUUID(){
89
@Refinement("((v/4096) % 16) == 2")

liquidjava-example/src/main/java/testSuite/ErrorLongUsagePredicates2.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import liquidjava.specification.Refinement;
55

6+
@SuppressWarnings("unused")
67
public class ErrorLongUsagePredicates2 {
78
void testLargeSubtractionWrong() {
89
@Refinement("v - 9007199254740992 == 2")

liquidjava-example/src/main/java/testSuite/ErrorLongUsagePredicates3.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import liquidjava.specification.Refinement;
55

6+
@SuppressWarnings("unused")
67
public class ErrorLongUsagePredicates3 {
78
void testWrongSign() {
89
@Refinement("v < 0")
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Refinement Error
2+
package testSuite;
3+
4+
import liquidjava.specification.Refinement;
5+
6+
@SuppressWarnings("unused")
7+
public class ErrorNullCheckAssignNonNull {
8+
public static void main(String[] args) {
9+
@Refinement("_ == null")
10+
String s = "not null";
11+
}
12+
}

0 commit comments

Comments
 (0)