View Javadoc

1   package com.atlassian.plugins.rest.module;
2   
3   import org.junit.Test;
4   
5   import static org.hamcrest.Matchers.is;
6   import static org.junit.Assert.*;
7   
8   public class ApiVersionTest {
9       @Test
10      public void testUnparsableVersion() {
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          try {
20              new ApiVersion(version);
21              fail(version + " should not be a valid version");
22          } catch (InvalidVersionException e) {
23              assertEquals(version, e.getInvalidVersion());
24          }
25      }
26  
27      @Test
28      public void testCanParseVersionWithMajorOnly() {
29          final ApiVersion version = new ApiVersion("2");
30          assertEquals(new Integer(2), version.getMajor());
31          assertNull(version.getMinor());
32          assertNull(version.getMicro());
33          assertNull(version.getClassifier());
34          assertEquals("2", version.toString());
35      }
36  
37      @Test
38      public void testCanParseVersionWithMajorAndMinorOnly() {
39          final ApiVersion version = new ApiVersion("2.3");
40          assertEquals(new Integer(2), version.getMajor());
41          assertEquals(new Integer(3), version.getMinor());
42          assertNull(version.getMicro());
43          assertNull(version.getClassifier());
44          assertEquals("2.3", version.toString());
45      }
46  
47      @Test
48      public void testCanParseVersionWithMajorAndMinorAndMicro() {
49          final ApiVersion version = new ApiVersion("2.3.4");
50          assertEquals(new Integer(2), version.getMajor());
51          assertEquals(new Integer(3), version.getMinor());
52          assertEquals(new Integer(4), version.getMicro());
53          assertNull(version.getClassifier());
54          assertEquals("2.3.4", version.toString());
55      }
56  
57      @Test
58      public void testCanParseVersionWithMajorAndMinorAndMicroAndClassifier() {
59          final String versionString = "2.3.4.alpha1";
60          final ApiVersion version = new ApiVersion(versionString);
61          assertEquals(new Integer(2), version.getMajor());
62          assertEquals(new Integer(3), version.getMinor());
63          assertEquals(new Integer(4), version.getMicro());
64          assertEquals("alpha1", version.getClassifier());
65          assertEquals(versionString, version.toString());
66      }
67  
68      @Test
69      public void testNoneVersionIsParsed() {
70          assertThat(new ApiVersion(ApiVersion.NONE_STRING).isNone(), is(true));
71      }
72  
73      @Test
74      public void testThatDottedVersionCompareToItselfReturnsZero() {
75          assertThat(new ApiVersion("1.2.3").compareTo(new ApiVersion("1.2.3")), is(0));
76      }
77  
78      @Test
79      public void testThatDottedVersionCompareToLesserVersionReturnsOne() {
80          assertThat(new ApiVersion("1.2").compareTo(new ApiVersion("1.1")), is(1));
81      }
82  
83      @Test
84      public void testThatDottedVersionCompareToGreaterVersionReturnsNegativeOne() {
85          assertThat(new ApiVersion("1.1").compareTo(new ApiVersion("1.2")), is(-1));
86      }
87  
88      @Test
89      public void testThatIntegerVersionCompareToItselfReturnsZero() {
90          assertThat(new ApiVersion("1").compareTo(new ApiVersion("1")), is(0));
91      }
92  
93      @Test
94      public void testThatIntegerVersionCompareToLesserVersionReturnsOne() {
95          assertThat(new ApiVersion("2").compareTo(new ApiVersion("1")), is(1));
96      }
97  
98      @Test
99      public void testThatIntegerVersionCompareToGreaterVersionReturnsNegativeOne() {
100         assertThat(new ApiVersion("1").compareTo(new ApiVersion("2")), is(-1));
101     }
102 
103     @Test
104     public void testThatNoneVersionCompareToItselfReturnsZero() {
105         assertThat(new ApiVersion(ApiVersion.NONE_STRING).compareTo(new ApiVersion(ApiVersion.NONE_STRING)), is(0));
106     }
107 }