VersionTest.java 2.14 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
package org.jivesoftware.util;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

import org.jivesoftware.util.Version.ReleaseStatus;
import org.junit.Test;

public class VersionTest {

	@Test
	public void testVersionWithInitializingConstructor() {
		Version test = new Version(3, 2, 1, ReleaseStatus.Beta, 4);
		
		assertEquals(3, test.getMajor());
		assertEquals(2, test.getMinor());
		assertEquals(1, test.getMicro());
		
		assertEquals(ReleaseStatus.Beta, test.getStatus());
		assertEquals(4, test.getStatusVersion());
		
		assertEquals("3.2.1 Beta 4", test.getVersionString());
	}

	@Test
	public void testVersionWithRegularStringConstructor() {
		Version test = new Version("1.2.3");
		
		assertEquals(1, test.getMajor());
		assertEquals(2, test.getMinor());
		assertEquals(3, test.getMicro());
		
		assertEquals(ReleaseStatus.Release, test.getStatus());
		assertEquals(-1, test.getStatusVersion());
		
		assertEquals("1.2.3", test.getVersionString());
	}

	@Test
	public void testVersionWithNullStringConstructor() {
		Version test = new Version(null);
		
		assertEquals(0, test.getMajor());
		assertEquals(0, test.getMinor());
		assertEquals(0, test.getMicro());
		
		assertEquals(ReleaseStatus.Release, test.getStatus());
		assertEquals(-1, test.getStatusVersion());
		
		assertEquals("0.0.0", test.getVersionString());
	}

	@Test
	public void testVersionComparisons() {
		
		Version test123 = new Version("1.2.3");
		Version test321 = new Version("3.2.1");
		Version test322 = new Version("3.2.2");
		Version test333 = new Version("3.3.3");
		Version test300 = new Version("3.0.0");
		Version test3100 = new Version("3.10.0");
		Version test29999 = new Version("2.99.99");
		
		assertEquals(-1, test123.compareTo(test321));
		assertEquals(0, test123.compareTo(test123));
		assertEquals(1, test321.compareTo(test123));
		
		assertTrue(test322.isNewerThan(test321));
		assertFalse(test322.isNewerThan(test333));
		assertFalse(test300.isNewerThan(test321));
		assertTrue(test3100.isNewerThan(test333));
		assertTrue(test3100.isNewerThan(test29999));
		assertTrue(test300.isNewerThan(test29999));
		
	}

}