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