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 }