blob: a31f856395905849dc6e6e2b61caef8dde593b13 [file] [log] [blame]
The Android Open Source Projectf8057102009-03-15 16:47:16 -07001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package dxc.junit.opcodes.isub;
18
19import dxc.junit.DxTestCase;
20import dxc.junit.DxUtil;
21import dxc.junit.opcodes.isub.jm.T_isub_1;
22
23public class Test_isub extends DxTestCase {
24
25 /**
26 * @title Arguments = 8, 4
27 */
28 public void testN1() {
29 T_isub_1 t = new T_isub_1();
30 assertEquals(4, t.run(8, 4));
31 }
32
33 /**
34 * @title Arguments = 0, 255
35 */
36 public void testN2() {
37 T_isub_1 t = new T_isub_1();
38 assertEquals(-255, t.run(0, 255));
39 }
40
41 /**
42 * @title Arguments = 0, -65536
43 */
44 public void testN3() {
45 T_isub_1 t = new T_isub_1();
46 assertEquals(65536, t.run(0, -65536));
47 }
48
49 /**
50 * @title Arguments = 0, -2147483647
51 */
52 public void testN4() {
53 T_isub_1 t = new T_isub_1();
54 assertEquals(Integer.MAX_VALUE, t.run(0, -2147483647));
55 }
56
57 /**
58 * @title Arguments = 0, Integer.MAX_VALUE
59 */
60 public void testB1() {
61 T_isub_1 t = new T_isub_1();
62 assertEquals(-2147483647, t.run(0, Integer.MAX_VALUE));
63 }
64
65 /**
66 * @title Arguments = Integer.MAX_VALUE, Integer.MAX_VALUE
67 */
68 public void testB2() {
69 T_isub_1 t = new T_isub_1();
70 assertEquals(0, t.run(Integer.MAX_VALUE, Integer.MAX_VALUE));
71 }
72
73 /**
74 * @title Arguments = Integer.MAX_VALUE, -1
75 */
76 public void testB3() {
77 T_isub_1 t = new T_isub_1();
78 assertEquals(Integer.MIN_VALUE, t.run(Integer.MAX_VALUE, -1));
79 }
80
81 /**
82 * @title Arguments = Integer.MIN_VALUE, 1
83 */
84 public void testB4() {
85 T_isub_1 t = new T_isub_1();
86 assertEquals(Integer.MAX_VALUE, t.run(Integer.MIN_VALUE, 1));
87 }
88
89 /**
90 * @title Arguments = 0, 0
91 */
92 public void testB5() {
93 T_isub_1 t = new T_isub_1();
94 assertEquals(0, t.run(0, 0));
95 }
96
97 /**
98 * @title Arguments = 0, -Integer.MIN_VALUE
99 */
100 public void testB6() {
101 T_isub_1 t = new T_isub_1();
102 assertEquals(-2147483648, t.run(0, -Integer.MIN_VALUE));
103 }
104
105 /**
106 * @title Arguments = Integer.MAX_VALUE, 1
107 */
108 public void testB7() {
109 T_isub_1 t = new T_isub_1();
110 assertEquals(2147483646, t.run(Integer.MAX_VALUE, 1));
111 }
112
113 /**
114 * @title Arguments = 1, Integer.MIN_VALUE
115 */
116 public void testB8() {
117 T_isub_1 t = new T_isub_1();
118 assertEquals(-2147483647, t.run(1, Integer.MIN_VALUE));
119 }
120
121 /**
122 * @title Arguments = Integer.MAX_VALUE, Integer.MIN_VALUE
123 */
124 public void testB9() {
125 T_isub_1 t = new T_isub_1();
126 assertEquals(-1, t.run(Integer.MAX_VALUE, Integer.MIN_VALUE));
127 }
128
129 /**
130 * @constraint 4.8.2.1
131 * @title number of arguments
132 */
133 public void testVFE1() {
134 try {
135 Class.forName("dxc.junit.opcodes.isub.jm.T_isub_2");
136 fail("expected a verification exception");
137 } catch (Throwable t) {
138 DxUtil.checkVerifyException(t);
139 }
140 }
141
142 /**
143 * @constraint 4.8.2.1
144 * @title types of arguments - int / double
145 */
146 public void testVFE2() {
147 try {
148 Class.forName("dxc.junit.opcodes.isub.jm.T_isub_3");
149 fail("expected a verification exception");
150 } catch (Throwable t) {
151 DxUtil.checkVerifyException(t);
152 }
153 }
154
155 /**
156 * @constraint 4.8.2.1
157 * @title types of arguments - long / int
158 */
159 public void testVFE3() {
160 try {
161 Class.forName("dxc.junit.opcodes.isub.jm.T_isub_4");
162 fail("expected a verification exception");
163 } catch (Throwable t) {
164 DxUtil.checkVerifyException(t);
165 }
166 }
167
168 /**
169 * @constraint 4.8.2.1
170 * @title types of arguments - reference / int
171 */
172 public void testVFE4() {
173 try {
174 Class.forName("dxc.junit.opcodes.isub.jm.T_isub_5");
175 fail("expected a verification exception");
176 } catch (Throwable t) {
177 DxUtil.checkVerifyException(t);
178 }
179 }
180
181}