1 package com.atlassian.plugins.rest.module; 2 3 import static org.junit.Assert.*; 4 import org.junit.Test; 5 6 public class TestApiVersion 7 { 8 @Test 9 public void testUnparsableVersion() 10 { 11 testInvalidVersion(null); 12 testInvalidVersion(""); 13 testInvalidVersion("a"); 14 testInvalidVersion("a.a"); 15 testInvalidVersion("1.1.alpha&"); 16 } 17 18 private void testInvalidVersion(String version) 19 { 20 try 21 { 22 new ApiVersion(version); 23 fail(version + " should not be a valid version"); 24 } 25 catch (InvalidVersionException e) 26 { 27 assertEquals(version, e.getInvalidVersion()); 28 } 29 } 30 31 @Test 32 public void testCanParseVersionWithMajorOnly() 33 { 34 final ApiVersion version = new ApiVersion("2"); 35 assertEquals(new Integer(2), version.getMajor()); 36 assertNull(version.getMinor()); 37 assertNull(version.getMicro()); 38 assertNull(version.getClassifier()); 39 assertEquals("2", version.toString()); 40 } 41 42 @Test 43 public void testCanParseVersionWithMajorAndMinorOnly() 44 { 45 final ApiVersion version = new ApiVersion("2.3"); 46 assertEquals(new Integer(2), version.getMajor()); 47 assertEquals(new Integer(3), version.getMinor()); 48 assertNull(version.getMicro()); 49 assertNull(version.getClassifier()); 50 assertEquals("2.3", version.toString()); 51 } 52 53 @Test 54 public void testCanParseVersionWithMajorAndMinorAndMicro() 55 { 56 final ApiVersion version = new ApiVersion("2.3.4"); 57 assertEquals(new Integer(2), version.getMajor()); 58 assertEquals(new Integer(3), version.getMinor()); 59 assertEquals(new Integer(4), version.getMicro()); 60 assertNull(version.getClassifier()); 61 assertEquals("2.3.4", version.toString()); 62 } 63 64 @Test 65 public void testCanParseVersionWithMajorAndMinorAndMicroAndClassifier() 66 { 67 final String versionString = "2.3.4.alpha1"; 68 final ApiVersion version = new ApiVersion(versionString); 69 assertEquals(new Integer(2), version.getMajor()); 70 assertEquals(new Integer(3), version.getMinor()); 71 assertEquals(new Integer(4), version.getMicro()); 72 assertEquals("alpha1", version.getClassifier()); 73 assertEquals(versionString, version.toString()); 74 } 75 }