1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress;
20
21 import org.apache.commons.compress.utils.ArchiveUtils;
22
23 public class ArchiveUtilsTest extends AbstractTestCase {
24
25 private static final int bytesToTest = 50;
26 private static final byte[] byteTest = new byte[bytesToTest];
27 static {
28 for(int i=0; i < byteTest.length ;) {
29 byteTest[i]=(byte) i;
30 byteTest[i+1]=(byte) -i;
31 i += 2;
32 }
33 }
34 public void testCompareBA(){
35 byte[] buffer1 = {1,2,3};
36 byte[] buffer2 = {1,2,3,0};
37 byte[] buffer3 = {1,2,3};
38 assertTrue(ArchiveUtils.isEqual(buffer1, buffer2, true));
39 assertFalse(ArchiveUtils.isEqual(buffer1, buffer2, false));
40 assertFalse(ArchiveUtils.isEqual(buffer1, buffer2));
41 assertTrue(ArchiveUtils.isEqual(buffer2, buffer1, true));
42 assertFalse(ArchiveUtils.isEqual(buffer2, buffer1, false));
43 assertFalse(ArchiveUtils.isEqual(buffer2, buffer1));
44 assertTrue(ArchiveUtils.isEqual(buffer1, buffer3));
45 assertTrue(ArchiveUtils.isEqual(buffer3, buffer1));
46 }
47
48 public void testCompareAscii(){
49 byte[] buffer1 = {'a','b','c'};
50 byte[] buffer2 = {'d','e','f',0};
51 assertTrue(ArchiveUtils.matchAsciiBuffer("abc", buffer1));
52 assertFalse(ArchiveUtils.matchAsciiBuffer("abc\0", buffer1));
53 assertTrue(ArchiveUtils.matchAsciiBuffer("def\0", buffer2));
54 assertFalse(ArchiveUtils.matchAsciiBuffer("def", buffer2));
55 }
56
57 public void testAsciiConversions() {
58 asciiToByteAndBackOK("");
59 asciiToByteAndBackOK("abcd");
60 asciiToByteAndBackFail("\u8025");
61 }
62
63 private void asciiToByteAndBackOK(String inputString) {
64 assertEquals(inputString, ArchiveUtils.toAsciiString(ArchiveUtils.toAsciiBytes(inputString)));
65 }
66
67 private void asciiToByteAndBackFail(String inputString) {
68 assertFalse(inputString.equals(ArchiveUtils.toAsciiString(ArchiveUtils.toAsciiBytes(inputString))));
69 }
70 }