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