xref: /aosp_15_r20/art/test/003-omnibus-opcodes/src/Switch.java (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker public class Switch {
2*795d594fSAndroid Build Coastguard Worker     /**
3*795d594fSAndroid Build Coastguard Worker      * Test switch() blocks
4*795d594fSAndroid Build Coastguard Worker      */
testSwitch()5*795d594fSAndroid Build Coastguard Worker     private static void testSwitch() {
6*795d594fSAndroid Build Coastguard Worker         System.out.println("Switch.testSwitch");
7*795d594fSAndroid Build Coastguard Worker 
8*795d594fSAndroid Build Coastguard Worker         int a = 1;
9*795d594fSAndroid Build Coastguard Worker 
10*795d594fSAndroid Build Coastguard Worker         switch (a) {
11*795d594fSAndroid Build Coastguard Worker             case -1: Main.assertTrue(false); break;
12*795d594fSAndroid Build Coastguard Worker             case 0: Main.assertTrue(false); break;
13*795d594fSAndroid Build Coastguard Worker             case 1: /*correct*/ break;
14*795d594fSAndroid Build Coastguard Worker             case 2: Main.assertTrue(false); break;
15*795d594fSAndroid Build Coastguard Worker             case 3: Main.assertTrue(false); break;
16*795d594fSAndroid Build Coastguard Worker             case 4: Main.assertTrue(false); break;
17*795d594fSAndroid Build Coastguard Worker             default: Main.assertTrue(false); break;
18*795d594fSAndroid Build Coastguard Worker         }
19*795d594fSAndroid Build Coastguard Worker         switch (a) {
20*795d594fSAndroid Build Coastguard Worker             case 3: Main.assertTrue(false); break;
21*795d594fSAndroid Build Coastguard Worker             case 4: Main.assertTrue(false); break;
22*795d594fSAndroid Build Coastguard Worker             default: /*correct*/ break;
23*795d594fSAndroid Build Coastguard Worker         }
24*795d594fSAndroid Build Coastguard Worker 
25*795d594fSAndroid Build Coastguard Worker         a = 0x12345678;
26*795d594fSAndroid Build Coastguard Worker 
27*795d594fSAndroid Build Coastguard Worker         switch (a) {
28*795d594fSAndroid Build Coastguard Worker             case 0x12345678: /*correct*/ break;
29*795d594fSAndroid Build Coastguard Worker             case 0x12345679: Main.assertTrue(false); break;
30*795d594fSAndroid Build Coastguard Worker             default: Main.assertTrue(false); break;
31*795d594fSAndroid Build Coastguard Worker         }
32*795d594fSAndroid Build Coastguard Worker         switch (a) {
33*795d594fSAndroid Build Coastguard Worker             case 57: Main.assertTrue(false); break;
34*795d594fSAndroid Build Coastguard Worker             case -6: Main.assertTrue(false); break;
35*795d594fSAndroid Build Coastguard Worker             case 0x12345678: /*correct*/ break;
36*795d594fSAndroid Build Coastguard Worker             case 22: Main.assertTrue(false); break;
37*795d594fSAndroid Build Coastguard Worker             case 3: Main.assertTrue(false); break;
38*795d594fSAndroid Build Coastguard Worker             default: Main.assertTrue(false); break;
39*795d594fSAndroid Build Coastguard Worker         }
40*795d594fSAndroid Build Coastguard Worker         switch (a) {
41*795d594fSAndroid Build Coastguard Worker             case -6: Main.assertTrue(false); break;
42*795d594fSAndroid Build Coastguard Worker             case 3: Main.assertTrue(false); break;
43*795d594fSAndroid Build Coastguard Worker             default: /*correct*/ break;
44*795d594fSAndroid Build Coastguard Worker         }
45*795d594fSAndroid Build Coastguard Worker 
46*795d594fSAndroid Build Coastguard Worker         a = -5;
47*795d594fSAndroid Build Coastguard Worker         switch (a) {
48*795d594fSAndroid Build Coastguard Worker             case 12: Main.assertTrue(false); break;
49*795d594fSAndroid Build Coastguard Worker             case -5: /*correct*/ break;
50*795d594fSAndroid Build Coastguard Worker             case 0: Main.assertTrue(false); break;
51*795d594fSAndroid Build Coastguard Worker             default: Main.assertTrue(false); break;
52*795d594fSAndroid Build Coastguard Worker         }
53*795d594fSAndroid Build Coastguard Worker 
54*795d594fSAndroid Build Coastguard Worker         switch (a) {
55*795d594fSAndroid Build Coastguard Worker             default: /*correct*/ break;
56*795d594fSAndroid Build Coastguard Worker         }
57*795d594fSAndroid Build Coastguard Worker     }
58*795d594fSAndroid Build Coastguard Worker 
run()59*795d594fSAndroid Build Coastguard Worker     public static void run() {
60*795d594fSAndroid Build Coastguard Worker         testSwitch();
61*795d594fSAndroid Build Coastguard Worker     }
62*795d594fSAndroid Build Coastguard Worker }
63