Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e41da3b

Browse files
committed
Add missing test Java files
1 parent 5b734fe commit e41da3b

2 files changed

Lines changed: 78 additions & 0 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
public class GuardTest {
2+
3+
public static void sink(String s) { }
4+
public static boolean isSafe(String s) { return s.length() < 10; }
5+
6+
public static void test(Object o) {
7+
8+
switch (o) {
9+
10+
case String s:
11+
sink(s);
12+
break;
13+
default:
14+
break;
15+
16+
}
17+
18+
switch (o) {
19+
20+
case String s when isSafe(s):
21+
sink(s);
22+
break;
23+
default:
24+
break;
25+
26+
}
27+
28+
}
29+
30+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
public class RecordTest {
2+
3+
interface I { }
4+
record Middle(String field) { }
5+
record A(Middle afield) implements I { }
6+
record B(Middle bfield) implements I { }
7+
8+
public static String sink(String s) { return s; }
9+
10+
public static void test(boolean inp) {
11+
12+
I i = inp ? new A(new Middle("A")) : new B(new Middle("B"));
13+
14+
switch(i) {
15+
case A(Middle(String field)):
16+
sink(field);
17+
break;
18+
case B(Middle(String field)):
19+
sink(field);
20+
break;
21+
default:
22+
break;
23+
}
24+
25+
switch(i) {
26+
case A(Middle(String field)) -> sink(field);
27+
case B(Middle(String field)) -> sink(field);
28+
default -> { }
29+
}
30+
31+
var x = switch(i) {
32+
case A(Middle(String field)):
33+
yield sink(field);
34+
case B(Middle(String field)):
35+
yield sink(field);
36+
default:
37+
yield "Default case";
38+
};
39+
40+
var y = switch(i) {
41+
case A(Middle(String field)) -> sink(field);
42+
case B(Middle(String field)) -> sink(field);
43+
default -> "Default case";
44+
};
45+
46+
}
47+
48+
}

0 commit comments

Comments
 (0)