1 31 32 package org.opencms.module; 33 34 import org.opencms.main.CmsIllegalArgumentException; 35 36 import junit.framework.TestCase; 37 38 45 public class TestCmsModuleVersion extends TestCase { 46 47 52 public TestCmsModuleVersion(String arg0) { 53 super(arg0); 54 } 55 56 59 public void testVersionIncrement() { 60 61 CmsModuleVersion v1 = new CmsModuleVersion("1.2.5"); 62 v1.increment(); 63 assertEquals("1.2.6", v1.getVersion()); 64 65 v1 = new CmsModuleVersion("1.02.05"); 66 v1.increment(); 67 assertEquals("1.2.6", v1.getVersion()); 68 69 v1 = new CmsModuleVersion("1.02.999"); 70 v1.increment(); 71 assertEquals("1.3.0", v1.getVersion()); 72 73 v1 = new CmsModuleVersion("0.999"); 74 v1.increment(); 75 assertEquals("1.0", v1.getVersion()); 76 77 boolean gotError = false; 78 try { 79 v1 = new CmsModuleVersion("999.999.999.999"); 80 v1.increment(); 81 } catch (RuntimeException e) { 82 gotError = true; 83 } 84 if (! gotError) { 85 fail("Invalid version increment allowed"); 86 } 87 } 88 89 92 public void testVersionGeneration() { 93 94 CmsModuleVersion v1 = new CmsModuleVersion("1.2.5"); 95 CmsModuleVersion v2 = new CmsModuleVersion("1.12"); 96 97 if (v1.compareTo(v2) > 0) { 98 fail("Module version comparison error"); 99 } 100 101 v1 = new CmsModuleVersion("5"); 102 v2 = new CmsModuleVersion("1.0.0.1"); 103 104 if (v1.compareTo(v2) <= 0) { 105 fail("Module version comparison error"); 106 } 107 108 v1 = new CmsModuleVersion("1.2.5.7"); 109 v2 = new CmsModuleVersion("1.2.45"); 110 111 if (v1.compareTo(v2) > 0) { 112 fail("Module version comparison error"); 113 } 114 115 v1 = new CmsModuleVersion("2.45.6"); 116 v2 = new CmsModuleVersion("2.45.06"); 117 118 if (v1.compareTo(v2) != 0) { 119 fail("Module version comparison error"); 120 } 121 122 v1 = new CmsModuleVersion("1.0.0.0"); 123 v2 = new CmsModuleVersion("1"); 124 125 if (v1.compareTo(v2) != 0) { 126 fail("Module version comparison error"); 127 } 128 129 v1 = new CmsModuleVersion("0.1"); 130 v2 = new CmsModuleVersion("0.0.0.1"); 131 132 if (v1.compareTo(v2) <= 0) { 133 fail("Module version comparison error"); 134 } 135 136 v1 = new CmsModuleVersion("0.08"); 137 assertEquals("0.8", v1.getVersion()); 138 139 v1 = new CmsModuleVersion("00.00"); 140 assertEquals("0.0", v1.getVersion()); 141 142 v1 = new CmsModuleVersion("999.999.999.999"); 143 assertEquals("999.999.999.999", v1.getVersion()); 144 145 boolean gotError = false; 146 try { 147 v1 = new CmsModuleVersion("2..45.6"); 148 } catch (CmsIllegalArgumentException e) { 149 gotError = true; 150 } 151 if (! gotError) { 152 fail("Invalid version generation allowed"); 153 } 154 155 gotError = false; 156 try { 157 v1 = new CmsModuleVersion(".2.45.6"); 158 } catch (CmsIllegalArgumentException e) { 159 gotError = true; 160 } 161 if (! gotError) { 162 fail("Invalid version generation allowed"); 163 } 164 165 gotError = false; 166 try { 167 v1 = new CmsModuleVersion("2.45.6."); 168 } catch (CmsIllegalArgumentException e) { 169 gotError = true; 170 } 171 if (! gotError) { 172 fail("Invalid version generation allowed"); 173 } 174 175 gotError = false; 176 try { 177 v1 = new CmsModuleVersion("wurst"); 178 } catch (CmsIllegalArgumentException e) { 179 gotError = true; 180 } 181 if (! gotError) { 182 fail("Invalid version generation allowed"); 183 } 184 185 gotError = false; 186 try { 187 v1 = new CmsModuleVersion("2222.45.6"); 188 } catch (CmsIllegalArgumentException e) { 189 gotError = true; 190 } 191 if (! gotError) { 192 fail("Invalid version generation allowed"); 193 } 194 195 gotError = false; 196 try { 197 v1 = new CmsModuleVersion("1.2.3.4.5"); 198 } catch (CmsIllegalArgumentException e) { 199 gotError = true; 200 } 201 if (! gotError) { 202 fail("Invalid version generation allowed"); 203 } 204 } 205 206 } 207
| Popular Tags
|