|
| 1 | +// This test uses CProverString so should be compiled with |
| 2 | +// javac test_append_char.java ../cprover/CProverString.java ../cprover/CProver.java |
| 3 | + |
1 | 4 | public class test_append_char
|
2 | 5 | {
|
3 |
| - public static void main(boolean b) |
4 |
| - { |
5 |
| - char[] diff = {'d', 'i', 'f', 'f'}; |
6 |
| - char[] blue = {'b', 'l', 'u', 'e'}; |
7 |
| - |
8 |
| - StringBuilder buffer = new StringBuilder(); |
| 6 | + public static String ofCharArray(char value[], int offset, int count) { |
| 7 | + org.cprover.CProver.assume(value != null); |
| 8 | + org.cprover.CProver.assume(value.length - count >= offset |
| 9 | + && offset >= 0 && count >= 0); |
| 10 | + StringBuilder builder = new StringBuilder(); |
| 11 | + for(int i = 0; i < count; i++) { |
| 12 | + builder.append(value[offset + i]); |
| 13 | + } |
| 14 | + return builder.toString(); |
| 15 | + } |
9 | 16 |
|
10 |
| - buffer.append(diff) |
11 |
| - .append(blue); |
| 17 | + public static String main(boolean b) |
| 18 | + { |
| 19 | + char[] diff = {'d', 'i', 'f', 'f'}; |
| 20 | + char[] blue = {'b', 'l', 'u', 'e'}; |
12 | 21 |
|
13 |
| - String tmp=buffer.toString(); |
14 |
| - System.out.println(tmp); |
15 |
| - if(b) |
16 |
| - assert(tmp.equals("diffblue")); |
17 |
| - else |
18 |
| - assert(!tmp.equals("diffblue")); |
19 |
| - } |
| 22 | + StringBuilder buffer = new StringBuilder(); |
| 23 | + String s = ofCharArray(diff, 0, diff.length); |
| 24 | + buffer.append(ofCharArray(diff, 0, diff.length)) |
| 25 | + .append(ofCharArray(blue, 0, blue.length)); |
| 26 | + String tmp=buffer.toString(); |
| 27 | + System.out.println(tmp); |
| 28 | + if(b) |
| 29 | + assert(tmp.equals("diffblue")); |
| 30 | + else |
| 31 | + assert(!tmp.equals("diffblue")); |
| 32 | + return tmp; |
| 33 | + } |
20 | 34 | }
|
0 commit comments