1 /*
2 * Copyright (C) The Spice Group. All rights reserved.
3 *
4 * This software is published under the terms of the Spice
5 * Software License version 1.1, a copy of which has been included
6 * with this distribution in the LICENSE.txt file.
7 */
8 package org.codehaus.spice.extension;
9 import junit.framework.TestCase;
10 import org.codehaus.spice.extension.DeweyDecimal;
11 /***
12 * TestCases for DeweyDecimal.
13 *
14 * @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
15 * @version $Revision: 1.1 $ $Date: 2003/12/02 07:56:59 $
16 */
17 public class DeweyDecimalTestCase
18 extends TestCase
19 {
20 private static final String DD1 = "1";
21 private static final String DD2 = "1.0.1";
22 private static final String DD3 = "1.0.2";
23 private static final String DD4 = "0.9.0.2";
24 private static final String DD5 = "2.0.9";
25 private static final String DD6 = "2..9";
26 private static final String DD7 = ".9";
27 private static final String DD8 = "9.";
28 public DeweyDecimalTestCase( String name )
29 {
30 super( name );
31 }
32 public void testParse()
33 throws Exception
34 {
35 final DeweyDecimal dd1 = new DeweyDecimal( DD1 );
36 final DeweyDecimal dd2 = new DeweyDecimal( DD2 );
37 final DeweyDecimal dd3 = new DeweyDecimal( DD3 );
38 final DeweyDecimal dd4 = new DeweyDecimal( DD4 );
39 final DeweyDecimal dd5 = new DeweyDecimal( DD5 );
40 assertEquals( "DeweyDecimal 1", DD1, dd1.toString() );
41 assertEquals( "DeweyDecimal 2", DD2, dd2.toString() );
42 assertEquals( "DeweyDecimal 3", DD3, dd3.toString() );
43 assertEquals( "DeweyDecimal 4", DD4, dd4.toString() );
44 assertEquals( "DeweyDecimal 5", DD5, dd5.toString() );
45 }
46 public void testMalParse()
47 throws Exception
48 {
49 try
50 {
51 new DeweyDecimal( DD6 );
52 fail( "DeweyDecimal 6 parsed!" );
53 }
54 catch( final NumberFormatException nfe )
55 {
56 }
57 try
58 {
59 new DeweyDecimal( DD7 );
60 fail( "DeweyDecimal 7 parsed!" );
61 }
62 catch( final NumberFormatException nfe )
63 {
64 }
65 try
66 {
67 new DeweyDecimal( DD8 );
68 fail( "DeweyDecimal 8 parsed!" );
69 }
70 catch( final NumberFormatException nfe )
71 {
72 }
73 }
74 public void testGreaterThan()
75 throws Exception
76 {
77 final DeweyDecimal dd1 = new DeweyDecimal( DD1 );
78 final DeweyDecimal dd2 = new DeweyDecimal( DD2 );
79 final DeweyDecimal dd3 = new DeweyDecimal( DD3 );
80 final DeweyDecimal dd4 = new DeweyDecimal( DD4 );
81 final DeweyDecimal dd5 = new DeweyDecimal( DD5 );
82 assertTrue( "Bad: " + DD1 + " > " + DD1, !dd1.isGreaterThan( dd1 ) );
83 assertTrue( "Bad: " + DD1 + " > " + DD2, !dd1.isGreaterThan( dd2 ) );
84 assertTrue( "Bad: " + DD1 + " > " + DD3, !dd1.isGreaterThan( dd3 ) );
85 assertTrue( "Bad: " + DD1 + " < " + DD4, dd1.isGreaterThan( dd4 ) );
86 assertTrue( "Bad: " + DD1 + " > " + DD5, !dd1.isGreaterThan( dd5 ) );
87 assertTrue( "Bad: " + DD2 + " < " + DD1, dd2.isGreaterThan( dd1 ) );
88 assertTrue( "Bad: " + DD2 + " > " + DD2, !dd2.isGreaterThan( dd2 ) );
89 assertTrue( "Bad: " + DD2 + " > " + DD3, !dd2.isGreaterThan( dd3 ) );
90 assertTrue( "Bad: " + DD2 + " < " + DD4, dd2.isGreaterThan( dd4 ) );
91 assertTrue( "Bad: " + DD2 + " > " + DD5, !dd2.isGreaterThan( dd5 ) );
92 assertTrue( "Bad: " + DD3 + " < " + DD1, dd3.isGreaterThan( dd1 ) );
93 assertTrue( "Bad: " + DD3 + " < " + DD2, dd3.isGreaterThan( dd2 ) );
94 assertTrue( "Bad: " + DD3 + " > " + DD3, !dd3.isGreaterThan( dd3 ) );
95 assertTrue( "Bad: " + DD3 + " < " + DD4, dd3.isGreaterThan( dd4 ) );
96 assertTrue( "Bad: " + DD3 + " > " + DD5, !dd3.isGreaterThan( dd5 ) );
97 assertTrue( "Bad: " + DD4 + " > " + DD1, !dd4.isGreaterThan( dd1 ) );
98 assertTrue( "Bad: " + DD4 + " > " + DD2, !dd4.isGreaterThan( dd2 ) );
99 assertTrue( "Bad: " + DD4 + " > " + DD3, !dd4.isGreaterThan( dd3 ) );
100 assertTrue( "Bad: " + DD4 + " > " + DD4, !dd4.isGreaterThan( dd4 ) );
101 assertTrue( "Bad: " + DD4 + " > " + DD5, !dd4.isGreaterThan( dd5 ) );
102 assertTrue( "Bad: " + DD5 + " < " + DD1, dd5.isGreaterThan( dd1 ) );
103 assertTrue( "Bad: " + DD5 + " < " + DD2, dd5.isGreaterThan( dd2 ) );
104 assertTrue( "Bad: " + DD5 + " < " + DD3, dd5.isGreaterThan( dd3 ) );
105 assertTrue( "Bad: " + DD5 + " < " + DD4, dd5.isGreaterThan( dd4 ) );
106 assertTrue( "Bad: " + DD5 + " > " + DD5, !dd5.isGreaterThan( dd5 ) );
107 }
108 public void testGreaterThanOrEqual()
109 throws Exception
110 {
111 final DeweyDecimal dd1 = new DeweyDecimal( DD1 );
112 final DeweyDecimal dd2 = new DeweyDecimal( DD2 );
113 final DeweyDecimal dd3 = new DeweyDecimal( DD3 );
114 final DeweyDecimal dd4 = new DeweyDecimal( DD4 );
115 final DeweyDecimal dd5 = new DeweyDecimal( DD5 );
116 assertTrue( "Bad: " + DD1 + " < " + DD1, dd1.isGreaterThanOrEqual( dd1 ) );
117 assertTrue( "Bad: " + DD1 + " > " + DD2, !dd1.isGreaterThanOrEqual( dd2 ) );
118 assertTrue( "Bad: " + DD1 + " > " + DD3, !dd1.isGreaterThanOrEqual( dd3 ) );
119 assertTrue( "Bad: " + DD1 + " < " + DD4, dd1.isGreaterThanOrEqual( dd4 ) );
120 assertTrue( "Bad: " + DD1 + " > " + DD5, !dd1.isGreaterThanOrEqual( dd5 ) );
121 assertTrue( "Bad: " + DD2 + " < " + DD1, dd2.isGreaterThanOrEqual( dd1 ) );
122 assertTrue( "Bad: " + DD2 + " < " + DD2, dd2.isGreaterThanOrEqual( dd2 ) );
123 assertTrue( "Bad: " + DD2 + " > " + DD3, !dd2.isGreaterThanOrEqual( dd3 ) );
124 assertTrue( "Bad: " + DD2 + " < " + DD4, dd2.isGreaterThanOrEqual( dd4 ) );
125 assertTrue( "Bad: " + DD2 + " > " + DD5, !dd2.isGreaterThanOrEqual( dd5 ) );
126 assertTrue( "Bad: " + DD3 + " < " + DD1, dd3.isGreaterThanOrEqual( dd1 ) );
127 assertTrue( "Bad: " + DD3 + " < " + DD2, dd3.isGreaterThanOrEqual( dd2 ) );
128 assertTrue( "Bad: " + DD3 + " < " + DD3, dd3.isGreaterThanOrEqual( dd3 ) );
129 assertTrue( "Bad: " + DD3 + " < " + DD4, dd3.isGreaterThanOrEqual( dd4 ) );
130 assertTrue( "Bad: " + DD3 + " > " + DD5, !dd3.isGreaterThanOrEqual( dd5 ) );
131 assertTrue( "Bad: " + DD4 + " > " + DD1, !dd4.isGreaterThanOrEqual( dd1 ) );
132 assertTrue( "Bad: " + DD4 + " > " + DD2, !dd4.isGreaterThanOrEqual( dd2 ) );
133 assertTrue( "Bad: " + DD4 + " > " + DD3, !dd4.isGreaterThanOrEqual( dd3 ) );
134 assertTrue( "Bad: " + DD4 + " < " + DD4, dd4.isGreaterThanOrEqual( dd4 ) );
135 assertTrue( "Bad: " + DD4 + " > " + DD5, !dd4.isGreaterThanOrEqual( dd5 ) );
136 assertTrue( "Bad: " + DD5 + " < " + DD1, dd5.isGreaterThanOrEqual( dd1 ) );
137 assertTrue( "Bad: " + DD5 + " < " + DD2, dd5.isGreaterThanOrEqual( dd2 ) );
138 assertTrue( "Bad: " + DD5 + " < " + DD3, dd5.isGreaterThanOrEqual( dd3 ) );
139 assertTrue( "Bad: " + DD5 + " < " + DD4, dd5.isGreaterThanOrEqual( dd4 ) );
140 assertTrue( "Bad: " + DD5 + " < " + DD5, dd5.isGreaterThanOrEqual( dd5 ) );
141 }
142 public void testLessThan()
143 throws Exception
144 {
145 final DeweyDecimal dd1 = new DeweyDecimal( DD1 );
146 final DeweyDecimal dd2 = new DeweyDecimal( DD2 );
147 final DeweyDecimal dd3 = new DeweyDecimal( DD3 );
148 final DeweyDecimal dd4 = new DeweyDecimal( DD4 );
149 final DeweyDecimal dd5 = new DeweyDecimal( DD5 );
150 assertTrue( "Bad: " + DD1 + " <= " + DD1, !dd1.isLessThan( dd1 ) );
151 assertTrue( "Bad: " + DD1 + " <= " + DD2, dd1.isLessThan( dd2 ) );
152 assertTrue( "Bad: " + DD1 + " <= " + DD3, dd1.isLessThan( dd3 ) );
153 assertTrue( "Bad: " + DD1 + " >= " + DD4, !dd1.isLessThan( dd4 ) );
154 assertTrue( "Bad: " + DD1 + " <= " + DD5, dd1.isLessThan( dd5 ) );
155 assertTrue( "Bad: " + DD2 + " >= " + DD1, !dd2.isLessThan( dd1 ) );
156 assertTrue( "Bad: " + DD2 + " <= " + DD2, !dd2.isLessThan( dd2 ) );
157 assertTrue( "Bad: " + DD2 + " <= " + DD3, dd2.isLessThan( dd3 ) );
158 assertTrue( "Bad: " + DD2 + " >= " + DD4, !dd2.isLessThan( dd4 ) );
159 assertTrue( "Bad: " + DD2 + " <= " + DD5, dd2.isLessThan( dd5 ) );
160 assertTrue( "Bad: " + DD3 + " >= " + DD1, !dd3.isLessThan( dd1 ) );
161 assertTrue( "Bad: " + DD3 + " >= " + DD2, !dd3.isLessThan( dd2 ) );
162 assertTrue( "Bad: " + DD3 + " <= " + DD3, !dd3.isLessThan( dd3 ) );
163 assertTrue( "Bad: " + DD3 + " >= " + DD4, !dd3.isLessThan( dd4 ) );
164 assertTrue( "Bad: " + DD3 + " <= " + DD5, dd3.isLessThan( dd5 ) );
165 assertTrue( "Bad: " + DD4 + " <= " + DD1, dd4.isLessThan( dd1 ) );
166 assertTrue( "Bad: " + DD4 + " <= " + DD2, dd4.isLessThan( dd2 ) );
167 assertTrue( "Bad: " + DD4 + " <= " + DD3, dd4.isLessThan( dd3 ) );
168 assertTrue( "Bad: " + DD4 + " <= " + DD4, !dd4.isLessThan( dd4 ) );
169 assertTrue( "Bad: " + DD4 + " <= " + DD5, dd4.isLessThan( dd5 ) );
170 assertTrue( "Bad: " + DD5 + " >= " + DD1, !dd5.isLessThan( dd1 ) );
171 assertTrue( "Bad: " + DD5 + " >= " + DD2, !dd5.isLessThan( dd2 ) );
172 assertTrue( "Bad: " + DD5 + " >= " + DD3, !dd5.isLessThan( dd3 ) );
173 assertTrue( "Bad: " + DD5 + " >= " + DD4, !dd5.isLessThan( dd4 ) );
174 assertTrue( "Bad: " + DD5 + " <= " + DD5, !dd5.isLessThan( dd5 ) );
175 }
176 public void testLessThanOrEqual()
177 throws Exception
178 {
179 final DeweyDecimal dd1 = new DeweyDecimal( DD1 );
180 final DeweyDecimal dd2 = new DeweyDecimal( DD2 );
181 final DeweyDecimal dd3 = new DeweyDecimal( DD3 );
182 final DeweyDecimal dd4 = new DeweyDecimal( DD4 );
183 final DeweyDecimal dd5 = new DeweyDecimal( DD5 );
184 assertTrue( "Bad: " + DD1 + " >= " + DD1, dd1.isLessThanOrEqual( dd1 ) );
185 assertTrue( "Bad: " + DD1 + " <= " + DD2, dd1.isLessThanOrEqual( dd2 ) );
186 assertTrue( "Bad: " + DD1 + " <= " + DD3, dd1.isLessThanOrEqual( dd3 ) );
187 assertTrue( "Bad: " + DD1 + " >= " + DD4, !dd1.isLessThanOrEqual( dd4 ) );
188 assertTrue( "Bad: " + DD1 + " <= " + DD5, dd1.isLessThanOrEqual( dd5 ) );
189 assertTrue( "Bad: " + DD2 + " >= " + DD1, !dd2.isLessThanOrEqual( dd1 ) );
190 assertTrue( "Bad: " + DD2 + " >= " + DD2, dd2.isLessThanOrEqual( dd2 ) );
191 assertTrue( "Bad: " + DD2 + " <= " + DD3, dd2.isLessThanOrEqual( dd3 ) );
192 assertTrue( "Bad: " + DD2 + " >= " + DD4, !dd2.isLessThanOrEqual( dd4 ) );
193 assertTrue( "Bad: " + DD2 + " <= " + DD5, dd2.isLessThanOrEqual( dd5 ) );
194 assertTrue( "Bad: " + DD3 + " >= " + DD1, !dd3.isLessThanOrEqual( dd1 ) );
195 assertTrue( "Bad: " + DD3 + " >= " + DD2, !dd3.isLessThanOrEqual( dd2 ) );
196 assertTrue( "Bad: " + DD3 + " >= " + DD3, dd3.isLessThanOrEqual( dd3 ) );
197 assertTrue( "Bad: " + DD3 + " >= " + DD4, !dd3.isLessThanOrEqual( dd4 ) );
198 assertTrue( "Bad: " + DD3 + " <= " + DD5, dd3.isLessThanOrEqual( dd5 ) );
199 assertTrue( "Bad: " + DD4 + " <= " + DD1, dd4.isLessThanOrEqual( dd1 ) );
200 assertTrue( "Bad: " + DD4 + " <= " + DD2, dd4.isLessThanOrEqual( dd2 ) );
201 assertTrue( "Bad: " + DD4 + " <= " + DD3, dd4.isLessThanOrEqual( dd3 ) );
202 assertTrue( "Bad: " + DD4 + " >= " + DD4, dd4.isLessThanOrEqual( dd4 ) );
203 assertTrue( "Bad: " + DD4 + " <= " + DD5, dd4.isLessThanOrEqual( dd5 ) );
204 assertTrue( "Bad: " + DD5 + " >= " + DD1, !dd5.isLessThanOrEqual( dd1 ) );
205 assertTrue( "Bad: " + DD5 + " >= " + DD2, !dd5.isLessThanOrEqual( dd2 ) );
206 assertTrue( "Bad: " + DD5 + " >= " + DD3, !dd5.isLessThanOrEqual( dd3 ) );
207 assertTrue( "Bad: " + DD5 + " >= " + DD4, !dd5.isLessThanOrEqual( dd4 ) );
208 assertTrue( "Bad: " + DD5 + " >= " + DD5, dd5.isLessThanOrEqual( dd5 ) );
209 }
210 }
This page was automatically generated by Maven