Skip to content

Commit be331e5

Browse files
committed
Add instanceof test cases
The first five of these are split up pieces of the existing instanceof1, and the final two are new. The first three (testing array and primitive classids) don't work at present; those dealing with ordinary reference types (3-7) do.
1 parent 7b04a04 commit be331e5

24 files changed

+107
-12
lines changed
-240 Bytes
Binary file not shown.

regression/cbmc-java/instanceof1/instanceof1.java

-12
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,6 @@ class instanceof1
22
{
33
public static void main(String[] args)
44
{
5-
// absolutely everything is an Object
65
assert args instanceof Object;
7-
assert int.class instanceof Object;
8-
9-
// args is an array
10-
assert args instanceof Object[];
11-
12-
// string literals are strings
13-
assert "" instanceof String;
14-
15-
// need a negative example, too
16-
Object o=new Object();
17-
assert ! (o instanceof String);
186
}
197
};
597 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class instanceof2
2+
{
3+
public static void main(String[] args)
4+
{
5+
assert int.class instanceof Object;
6+
}
7+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
KNOWNBUG
2+
instanceof2.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
560 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class instanceof3
2+
{
3+
public static void main(String[] args)
4+
{
5+
assert args instanceof Object[];
6+
}
7+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
KNOWNBUG
2+
instanceof3.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
564 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class instanceof4
2+
{
3+
public static void main(String[] args)
4+
{
5+
assert "" instanceof String;
6+
}
7+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
instanceof4.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
577 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
class instanceof5
2+
{
3+
public static void main(String[] args)
4+
{
5+
Object o=new Object();
6+
assert ! (o instanceof String);
7+
}
8+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
instanceof5.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
186 Bytes
Binary file not shown.
171 Bytes
Binary file not shown.
633 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class instanceof6
2+
{
3+
public static void main(String[] args)
4+
{
5+
A[] as = { new A(), new B() };
6+
assert(as[0] instanceof A);
7+
assert(as[1] instanceof A);
8+
}
9+
};
10+
11+
class A {
12+
}
13+
14+
class B extends A {
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
instanceof6.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring
186 Bytes
Binary file not shown.
171 Bytes
Binary file not shown.
633 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class instanceof7
2+
{
3+
public static void main(String[] args)
4+
{
5+
A[] as = { new A(), new B() };
6+
assert(!(as[0] instanceof B));
7+
assert(as[1] instanceof B);
8+
}
9+
};
10+
11+
class A {
12+
}
13+
14+
class B extends A {
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
instanceof7.class
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^VERIFICATION SUCCESSFUL$
7+
--
8+
^warning: ignoring

0 commit comments

Comments
 (0)