1 17 18 package org.apache.avalon.extension.test; 19 20 import junit.framework.TestCase; 21 22 import org.apache.avalon.extension.DeweyDecimal; 23 24 30 public class DeweyDecimalTestCase 31 extends TestCase 32 { 33 private static final String DD1 = "1"; 34 private static final String DD2 = "1.0.1"; 35 private static final String DD3 = "1.0.2"; 36 private static final String DD4 = "0.9.0.2"; 37 private static final String DD5 = "2.0.9"; 38 39 private static final String DD6 = "2..9"; 40 private static final String DD7 = ".9"; 41 private static final String DD8 = "9."; 42 43 public DeweyDecimalTestCase( String name ) 44 { 45 super( name ); 46 } 47 48 public void testParse() 49 throws Exception 50 { 51 final DeweyDecimal dd1 = new DeweyDecimal( DD1 ); 52 final DeweyDecimal dd2 = new DeweyDecimal( DD2 ); 53 final DeweyDecimal dd3 = new DeweyDecimal( DD3 ); 54 final DeweyDecimal dd4 = new DeweyDecimal( DD4 ); 55 final DeweyDecimal dd5 = new DeweyDecimal( DD5 ); 56 57 assertEquals( "DeweyDecimal 1", DD1, dd1.toString() ); 58 assertEquals( "DeweyDecimal 2", DD2, dd2.toString() ); 59 assertEquals( "DeweyDecimal 3", DD3, dd3.toString() ); 60 assertEquals( "DeweyDecimal 4", DD4, dd4.toString() ); 61 assertEquals( "DeweyDecimal 5", DD5, dd5.toString() ); 62 } 63 64 public void testMalParse() 65 throws Exception 66 { 67 try 68 { 69 new DeweyDecimal( DD6 ); 70 fail( "DeweyDecimal 6 parsed!" ); 71 } 72 catch( final NumberFormatException nfe ) 73 { 74 } 75 76 try 77 { 78 new DeweyDecimal( DD7 ); 79 fail( "DeweyDecimal 7 parsed!" ); 80 } 81 catch( final NumberFormatException nfe ) 82 { 83 } 84 85 try 86 { 87 new DeweyDecimal( DD8 ); 88 fail( "DeweyDecimal 8 parsed!" ); 89 } 90 catch( final NumberFormatException nfe ) 91 { 92 } 93 } 94 95 public void testGreaterThan() 96 throws Exception 97 { 98 final DeweyDecimal dd1 = new DeweyDecimal( DD1 ); 99 final DeweyDecimal dd2 = new DeweyDecimal( DD2 ); 100 final DeweyDecimal dd3 = new DeweyDecimal( DD3 ); 101 final DeweyDecimal dd4 = new DeweyDecimal( DD4 ); 102 final DeweyDecimal dd5 = new DeweyDecimal( DD5 ); 103 104 assertTrue( "Bad: " + DD1 + " > " + DD1, !dd1.isGreaterThan( dd1 ) ); 105 assertTrue( "Bad: " + DD1 + " > " + DD2, !dd1.isGreaterThan( dd2 ) ); 106 assertTrue( "Bad: " + DD1 + " > " + DD3, !dd1.isGreaterThan( dd3 ) ); 107 assertTrue( "Bad: " + DD1 + " < " + DD4, dd1.isGreaterThan( dd4 ) ); 108 assertTrue( "Bad: " + DD1 + " > " + DD5, !dd1.isGreaterThan( dd5 ) ); 109 110 assertTrue( "Bad: " + DD2 + " < " + DD1, dd2.isGreaterThan( dd1 ) ); 111 assertTrue( "Bad: " + DD2 + " > " + DD2, !dd2.isGreaterThan( dd2 ) ); 112 assertTrue( "Bad: " + DD2 + " > " + DD3, !dd2.isGreaterThan( dd3 ) ); 113 assertTrue( "Bad: " + DD2 + " < " + DD4, dd2.isGreaterThan( dd4 ) ); 114 assertTrue( "Bad: " + DD2 + " > " + DD5, !dd2.isGreaterThan( dd5 ) ); 115 116 assertTrue( "Bad: " + DD3 + " < " + DD1, dd3.isGreaterThan( dd1 ) ); 117 assertTrue( "Bad: " + DD3 + " < " + DD2, dd3.isGreaterThan( dd2 ) ); 118 assertTrue( "Bad: " + DD3 + " > " + DD3, !dd3.isGreaterThan( dd3 ) ); 119 assertTrue( "Bad: " + DD3 + " < " + DD4, dd3.isGreaterThan( dd4 ) ); 120 assertTrue( "Bad: " + DD3 + " > " + DD5, !dd3.isGreaterThan( dd5 ) ); 121 122 assertTrue( "Bad: " + DD4 + " > " + DD1, !dd4.isGreaterThan( dd1 ) ); 123 assertTrue( "Bad: " + DD4 + " > " + DD2, !dd4.isGreaterThan( dd2 ) ); 124 assertTrue( "Bad: " + DD4 + " > " + DD3, !dd4.isGreaterThan( dd3 ) ); 125 assertTrue( "Bad: " + DD4 + " > " + DD4, !dd4.isGreaterThan( dd4 ) ); 126 assertTrue( "Bad: " + DD4 + " > " + DD5, !dd4.isGreaterThan( dd5 ) ); 127 128 assertTrue( "Bad: " + DD5 + " < " + DD1, dd5.isGreaterThan( dd1 ) ); 129 assertTrue( "Bad: " + DD5 + " < " + DD2, dd5.isGreaterThan( dd2 ) ); 130 assertTrue( "Bad: " + DD5 + " < " + DD3, dd5.isGreaterThan( dd3 ) ); 131 assertTrue( "Bad: " + DD5 + " < " + DD4, dd5.isGreaterThan( dd4 ) ); 132 assertTrue( "Bad: " + DD5 + " > " + DD5, !dd5.isGreaterThan( dd5 ) ); 133 } 134 135 public void testGreaterThanOrEqual() 136 throws Exception 137 { 138 final DeweyDecimal dd1 = new DeweyDecimal( DD1 ); 139 final DeweyDecimal dd2 = new DeweyDecimal( DD2 ); 140 final DeweyDecimal dd3 = new DeweyDecimal( DD3 ); 141 final DeweyDecimal dd4 = new DeweyDecimal( DD4 ); 142 final DeweyDecimal dd5 = new DeweyDecimal( DD5 ); 143 144 assertTrue( "Bad: " + DD1 + " < " + DD1, dd1.isGreaterThanOrEqual( dd1 ) ); 145 assertTrue( "Bad: " + DD1 + " > " + DD2, !dd1.isGreaterThanOrEqual( dd2 ) ); 146 assertTrue( "Bad: " + DD1 + " > " + DD3, !dd1.isGreaterThanOrEqual( dd3 ) ); 147 assertTrue( "Bad: " + DD1 + " < " + DD4, dd1.isGreaterThanOrEqual( dd4 ) ); 148 assertTrue( "Bad: " + DD1 + " > " + DD5, !dd1.isGreaterThanOrEqual( dd5 ) ); 149 150 assertTrue( "Bad: " + DD2 + " < " + DD1, dd2.isGreaterThanOrEqual( dd1 ) ); 151 assertTrue( "Bad: " + DD2 + " < " + DD2, dd2.isGreaterThanOrEqual( dd2 ) ); 152 assertTrue( "Bad: " + DD2 + " > " + DD3, !dd2.isGreaterThanOrEqual( dd3 ) ); 153 assertTrue( "Bad: " + DD2 + " < " + DD4, dd2.isGreaterThanOrEqual( dd4 ) ); 154 assertTrue( "Bad: " + DD2 + " > " + DD5, !dd2.isGreaterThanOrEqual( dd5 ) ); 155 156 assertTrue( "Bad: " + DD3 + " < " + DD1, dd3.isGreaterThanOrEqual( dd1 ) ); 157 assertTrue( "Bad: " + DD3 + " < " + DD2, dd3.isGreaterThanOrEqual( dd2 ) ); 158 assertTrue( "Bad: " + DD3 + " < " + DD3, dd3.isGreaterThanOrEqual( dd3 ) ); 159 assertTrue( "Bad: " + DD3 + " < " + DD4, dd3.isGreaterThanOrEqual( dd4 ) ); 160 assertTrue( "Bad: " + DD3 + " > " + DD5, !dd3.isGreaterThanOrEqual( dd5 ) ); 161 162 assertTrue( "Bad: " + DD4 + " > " + DD1, !dd4.isGreaterThanOrEqual( dd1 ) ); 163 assertTrue( "Bad: " + DD4 + " > " + DD2, !dd4.isGreaterThanOrEqual( dd2 ) ); 164 assertTrue( "Bad: " + DD4 + " > " + DD3, !dd4.isGreaterThanOrEqual( dd3 ) ); 165 assertTrue( "Bad: " + DD4 + " < " + DD4, dd4.isGreaterThanOrEqual( dd4 ) ); 166 assertTrue( "Bad: " + DD4 + " > " + DD5, !dd4.isGreaterThanOrEqual( dd5 ) ); 167 168 assertTrue( "Bad: " + DD5 + " < " + DD1, dd5.isGreaterThanOrEqual( dd1 ) ); 169 assertTrue( "Bad: " + DD5 + " < " + DD2, dd5.isGreaterThanOrEqual( dd2 ) ); 170 assertTrue( "Bad: " + DD5 + " < " + DD3, dd5.isGreaterThanOrEqual( dd3 ) ); 171 assertTrue( "Bad: " + DD5 + " < " + DD4, dd5.isGreaterThanOrEqual( dd4 ) ); 172 assertTrue( "Bad: " + DD5 + " < " + DD5, dd5.isGreaterThanOrEqual( dd5 ) ); 173 } 174 175 public void testLessThan() 176 throws Exception 177 { 178 final DeweyDecimal dd1 = new DeweyDecimal( DD1 ); 179 final DeweyDecimal dd2 = new DeweyDecimal( DD2 ); 180 final DeweyDecimal dd3 = new DeweyDecimal( DD3 ); 181 final DeweyDecimal dd4 = new DeweyDecimal( DD4 ); 182 final DeweyDecimal dd5 = new DeweyDecimal( DD5 ); 183 184 assertTrue( "Bad: " + DD1 + " <= " + DD1, !dd1.isLessThan( dd1 ) ); 185 assertTrue( "Bad: " + DD1 + " <= " + DD2, dd1.isLessThan( dd2 ) ); 186 assertTrue( "Bad: " + DD1 + " <= " + DD3, dd1.isLessThan( dd3 ) ); 187 assertTrue( "Bad: " + DD1 + " >= " + DD4, !dd1.isLessThan( dd4 ) ); 188 assertTrue( "Bad: " + DD1 + " <= " + DD5, dd1.isLessThan( dd5 ) ); 189 190 assertTrue( "Bad: " + DD2 + " >= " + DD1, !dd2.isLessThan( dd1 ) ); 191 assertTrue( "Bad: " + DD2 + " <= " + DD2, !dd2.isLessThan( dd2 ) ); 192 assertTrue( "Bad: " + DD2 + " <= " + DD3, dd2.isLessThan( dd3 ) ); 193 assertTrue( "Bad: " + DD2 + " >= " + DD4, !dd2.isLessThan( dd4 ) ); 194 assertTrue( "Bad: " + DD2 + " <= " + DD5, dd2.isLessThan( dd5 ) ); 195 196 assertTrue( "Bad: " + DD3 + " >= " + DD1, !dd3.isLessThan( dd1 ) ); 197 assertTrue( "Bad: " + DD3 + " >= " + DD2, !dd3.isLessThan( dd2 ) ); 198 assertTrue( "Bad: " + DD3 + " <= " + DD3, !dd3.isLessThan( dd3 ) ); 199 assertTrue( "Bad: " + DD3 + " >= " + DD4, !dd3.isLessThan( dd4 ) ); 200 assertTrue( "Bad: " + DD3 + " <= " + DD5, dd3.isLessThan( dd5 ) ); 201 202 assertTrue( "Bad: " + DD4 + " <= " + DD1, dd4.isLessThan( dd1 ) ); 203 assertTrue( "Bad: " + DD4 + " <= " + DD2, dd4.isLessThan( dd2 ) ); 204 assertTrue( "Bad: " + DD4 + " <= " + DD3, dd4.isLessThan( dd3 ) ); 205 assertTrue( "Bad: " + DD4 + " <= " + DD4, !dd4.isLessThan( dd4 ) ); 206 assertTrue( "Bad: " + DD4 + " <= " + DD5, dd4.isLessThan( dd5 ) ); 207 208 assertTrue( "Bad: " + DD5 + " >= " + DD1, !dd5.isLessThan( dd1 ) ); 209 assertTrue( "Bad: " + DD5 + " >= " + DD2, !dd5.isLessThan( dd2 ) ); 210 assertTrue( "Bad: " + DD5 + " >= " + DD3, !dd5.isLessThan( dd3 ) ); 211 assertTrue( "Bad: " + DD5 + " >= " + DD4, !dd5.isLessThan( dd4 ) ); 212 assertTrue( "Bad: " + DD5 + " <= " + DD5, !dd5.isLessThan( dd5 ) ); 213 } 214 215 public void testLessThanOrEqual() 216 throws Exception 217 { 218 final DeweyDecimal dd1 = new DeweyDecimal( DD1 ); 219 final DeweyDecimal dd2 = new DeweyDecimal( DD2 ); 220 final DeweyDecimal dd3 = new DeweyDecimal( DD3 ); 221 final DeweyDecimal dd4 = new DeweyDecimal( DD4 ); 222 final DeweyDecimal dd5 = new DeweyDecimal( DD5 ); 223 224 assertTrue( "Bad: " + DD1 + " >= " + DD1, dd1.isLessThanOrEqual( dd1 ) ); 225 assertTrue( "Bad: " + DD1 + " <= " + DD2, dd1.isLessThanOrEqual( dd2 ) ); 226 assertTrue( "Bad: " + DD1 + " <= " + DD3, dd1.isLessThanOrEqual( dd3 ) ); 227 assertTrue( "Bad: " + DD1 + " >= " + DD4, !dd1.isLessThanOrEqual( dd4 ) ); 228 assertTrue( "Bad: " + DD1 + " <= " + DD5, dd1.isLessThanOrEqual( dd5 ) ); 229 230 assertTrue( "Bad: " + DD2 + " >= " + DD1, !dd2.isLessThanOrEqual( dd1 ) ); 231 assertTrue( "Bad: " + DD2 + " >= " + DD2, dd2.isLessThanOrEqual( dd2 ) ); 232 assertTrue( "Bad: " + DD2 + " <= " + DD3, dd2.isLessThanOrEqual( dd3 ) ); 233 assertTrue( "Bad: " + DD2 + " >= " + DD4, !dd2.isLessThanOrEqual( dd4 ) ); 234 assertTrue( "Bad: " + DD2 + " <= " + DD5, dd2.isLessThanOrEqual( dd5 ) ); 235 236 assertTrue( "Bad: " + DD3 + " >= " + DD1, !dd3.isLessThanOrEqual( dd1 ) ); 237 assertTrue( "Bad: " + DD3 + " >= " + DD2, !dd3.isLessThanOrEqual( dd2 ) ); 238 assertTrue( "Bad: " + DD3 + " >= " + DD3, dd3.isLessThanOrEqual( dd3 ) ); 239 assertTrue( "Bad: " + DD3 + " >= " + DD4, !dd3.isLessThanOrEqual( dd4 ) ); 240 assertTrue( "Bad: " + DD3 + " <= " + DD5, dd3.isLessThanOrEqual( dd5 ) ); 241 242 assertTrue( "Bad: " + DD4 + " <= " + DD1, dd4.isLessThanOrEqual( dd1 ) ); 243 assertTrue( "Bad: " + DD4 + " <= " + DD2, dd4.isLessThanOrEqual( dd2 ) ); 244 assertTrue( "Bad: " + DD4 + " <= " + DD3, dd4.isLessThanOrEqual( dd3 ) ); 245 assertTrue( "Bad: " + DD4 + " >= " + DD4, dd4.isLessThanOrEqual( dd4 ) ); 246 assertTrue( "Bad: " + DD4 + " <= " + DD5, dd4.isLessThanOrEqual( dd5 ) ); 247 248 assertTrue( "Bad: " + DD5 + " >= " + DD1, !dd5.isLessThanOrEqual( dd1 ) ); 249 assertTrue( "Bad: " + DD5 + " >= " + DD2, !dd5.isLessThanOrEqual( dd2 ) ); 250 assertTrue( "Bad: " + DD5 + " >= " + DD3, !dd5.isLessThanOrEqual( dd3 ) ); 251 assertTrue( "Bad: " + DD5 + " >= " + DD4, !dd5.isLessThanOrEqual( dd4 ) ); 252 assertTrue( "Bad: " + DD5 + " >= " + DD5, dd5.isLessThanOrEqual( dd5 ) ); 253 } 254 } 255 | Popular Tags |