1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
package org.litesoft.encryption.symmetric;
import junit.framework.*;
public class BrainDeadSymmetricEncryptorTest extends TestCase
{
public static TestSuite suite()
{
return new TestSuite( BrainDeadSymmetricEncryptorTest.class );
}
public BrainDeadSymmetricEncryptorTest( String name )
{
super( name );
}
public static void main( String[] args )
{
junit.textui.TestRunner.run( suite() );
}
private void assertStringOf( String pEncoded, int... pChars )
{
assertEquals( "Bad Length", pChars.length, pEncoded.length() );
for ( int at = 0; at < pChars.length; at++ )
{
assertEquals( "CharAt(" + at + ")", pChars[at], pEncoded.charAt( at ) );
}
}
SymmetricEncryptor SE = BrainDeadSymmetricEncryptor.INSTANCE;
public void test_Null()
throws Exception
{
String zText = null;
String zEncoded = SE.encrypt( zText );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_SingleLowerCaseLetter()
throws Exception
{
String zText = "f";
String zEncoded = SE.encrypt( zText );
assertStringOf( zEncoded, 19 );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_TwoLowerCaseLetter()
throws Exception
{
String zText = "fo";
String zEncoded = SE.encrypt( zText );
assertStringOf( zEncoded, 19, 1 );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_ShortWithWrapLowerCaseLetter()
throws Exception
{
String zText = "fosy";
String zEncoded = SE.encrypt( zText );
assertStringOf( zEncoded, 19, 1, 25, 8 );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_SimpleLowerCase()
throws Exception
{
String zText = "foxes are ussually hot";
String zEncoded = SE.encrypt( zText );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_ShortWithWrapUpperCaseLetter()
throws Exception
{
String zText = "FOSY";
String zEncoded = SE.encrypt( zText );
assertStringOf( zEncoded, 46 + 19, 46 + 1, 46 + 25, 46 + 8 );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_ShortWithWrapMixedCaseLetter()
throws Exception
{
String zText = "FosY";
String zEncoded = SE.encrypt( zText );
assertStringOf( zEncoded, 46 + 19, 1, 25, 46 + 8 );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_Punc()
throws Exception
{
String zExpd = "brownfxjmpdvazgs";
String zText = "/:,.;?-+()@$%'!\"";
String zEncoded = SE.encrypt( zText );
assertEquals( zExpd, zEncoded );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_Digits()
throws Exception
{
String zExpd = "ehtylkciuq";
String zText = "0123456789";
String zEncoded = SE.encrypt( zText );
assertEquals( zExpd, zEncoded );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_UnsupportedPunc()
throws Exception
{
String zExpd = "`eeyC";
String zText = "=";
String zEncoded = SE.encrypt( zText );
assertEquals( zExpd, zEncoded );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
public void test_LongString()
throws Exception
{
String zText = "The rain in Spain falls\r\n" + //
"mainly in the plain!\r\n" + //
"However, this doesn't mean\r\n" + //
"that it rains <b><i>\"most\"</i></b> of the time\r\n" + //
"on that plain in Spain!\r\n";
String zEncoded = SE.encrypt( zText );
assertEquals( zText, SE.decrypt( zEncoded ) );
}
}
|