Skip to content

Commit 18fa75f

Browse files
author
Joel Allred
committed
Tests for length of String.format of boolean
1 parent c667559 commit 18fa75f

File tree

11 files changed

+115
-0
lines changed

11 files changed

+115
-0
lines changed
Binary file not shown.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
public class Test {
2+
public static String testBool(boolean b) {
3+
String u = String.format("bool: %b", b);
4+
if (u.equals("bool: true"))
5+
assert(false);
6+
else if (u.equals("bool: false"))
7+
assert(false);
8+
else
9+
assert(false); // unreachable
10+
return u;
11+
}
12+
13+
public static String testBoolLength(boolean b) {
14+
String u = String.format("bool: %b", b);
15+
if (u.length() == 10)
16+
assert(false);
17+
else if (u.length() == 11)
18+
assert(false);
19+
else
20+
assert(false); // unreachable
21+
return u;
22+
}
23+
24+
public static String testBoolLengthTrue() {
25+
String u = String.format("bool: %b", true);
26+
if (u.length() == 10)
27+
assert(false);
28+
else
29+
assert(false); // unreachable
30+
return u;
31+
}
32+
33+
public static String testBoolLengthFalse() {
34+
String u = String.format("bool: %b", false);
35+
if (u.length() == 11)
36+
assert(false);
37+
else
38+
assert(false); // unreachable
39+
return u;
40+
}
41+
42+
public static String testBoolLengthNull() {
43+
Boolean b = null;
44+
String u = String.format("bool: %b", b);
45+
if (u.length() == 11)
46+
assert(false);
47+
else
48+
assert(false); // unreachable
49+
return u;
50+
}
51+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
public class TestHex {
2+
public static String testHex(int i) {
3+
String u = String.format("di%xlue", i);
4+
if (u.equals("diffblue"))
5+
assert(false);
6+
else if (u.startsWith("di"))
7+
assert(false);
8+
else
9+
assert(false);
10+
return u;
11+
}
12+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
Test.class
3+
--function Test.testBoolLengthTrue --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBoolLengthTrue:()Ljava/lang/String;.assertion.1"
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
line 27 assertion at file Test.java .*: FAILURE
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
KNOWNBUG
2+
Test.class
3+
--function Test.testBoolLengthTrue --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBoolLengthTrue:()Ljava/lang/String;.assertion.2"
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
line 29 assertion at file Test.java .*: SUCCESS
7+
--
8+
--
9+
There seems to be some constraints missing, as the length of the 'true'
10+
boolean can be either 4 or 5.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
Test.class
3+
--function Test.testBoolLength --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBoolLength:(Z)Ljava/lang/String;.assertion.1"
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
line 16 assertion at file Test.java .*: FAILURE
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
Test.class
3+
--function Test.testBoolLength --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBoolLength:(Z)Ljava/lang/String;.assertion.2"
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
line 18 assertion at file Test.java .*: FAILURE
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE symex-driven-lazy-loading-expected-failure
2+
Test.class
3+
--function Test.testBoolLength --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBoolLength:(Z)Ljava/lang/String;.assertion.3"
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
line 20 assertion at file Test.java .*: SUCCESS
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
Test.class
3+
--function Test.testBool --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBool:(Z)Ljava/lang/String;.assertion.1"
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
line 5 assertion at file Test.java .*: FAILURE
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
Test.class
3+
--function Test.testBool --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBool:(Z)Ljava/lang/String;.assertion.2"
4+
^EXIT=10$
5+
^SIGNAL=0$
6+
line 7 assertion at file Test.java .*: FAILURE
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE symex-driven-lazy-loading-expected-failure
2+
Test.class
3+
--function Test.testBool --cp `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar` --property "java::Test.testBool:(Z)Ljava/lang/String;.assertion.3"
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
line 9 assertion at file Test.java .*: SUCCESS

0 commit comments

Comments
 (0)