summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/openslx/virtualization/VersionTest.java
blob: 21464d9a125cd2e72916434be7fe4c29fd3fddcc (plain) (blame)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package org.openslx.virtualization;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

public class VersionTest
{
	@Test
	@DisplayName( "Test that version is supported in list of versions" )
	public void testVersionIsSupported()
	{
		final Version version = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final List<Version> versions = Collections.unmodifiableList( Arrays.asList(
				new Version( Short.valueOf( "2" ) ),
				new Version( Short.valueOf( "4" ), Short.valueOf( "3" ) ),
				new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) ),
				new Version( Short.valueOf( "1" ), Short.valueOf( "3" ) ) ) );

		assertTrue( version.isSupported( versions ) );
	}

	@Test
	@DisplayName( "Test that version is not supported in list of versions" )
	public void testVersionIsNotSupported()
	{
		final Version version = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final List<Version> versions = Collections.unmodifiableList( Arrays.asList(
				new Version( Short.valueOf( "2" ) ),
				new Version( Short.valueOf( "4" ), Short.valueOf( "3" ) ),
				new Version( Short.valueOf( "6" ), Short.valueOf( "9" ) ),
				new Version( Short.valueOf( "1" ), Short.valueOf( "3" ) ) ) );

		assertFalse( version.isSupported( versions ) );
	}

	@Test
	@DisplayName( "Test that new version from String is valid" )
	public void testVersionValueOfValid()
	{
		assertEquals( new Version( Short.valueOf( "52" ) ), Version.valueOf( "52" ) );
		assertEquals( new Version( Short.valueOf( "1" ), Short.valueOf( "34" ) ), Version.valueOf( "1.34" ) );
	}

	@Test
	@DisplayName( "Test that new version from String is invalid" )
	public void testVersionValueOfInvalid()
	{
		assertNull( Version.valueOf( "52." ) );
		assertNull( Version.valueOf( "1.34-release" ) );
	}

	@Test
	@DisplayName( "Test that versions are equal" )
	public void testVersionEquals()
	{
		final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );

		assertTrue( versionOne.equals( versionTwo ) );
		assertTrue( versionTwo.equals( versionOne ) );
	}

	@Test
	@DisplayName( "Test that versions are not equal" )
	public void testVersionNotEquals()
	{
		final Version versionOne = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );
		final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "3" ) );

		assertFalse( versionOne.equals( versionTwo ) );
		assertFalse( versionTwo.equals( versionOne ) );
	}

	@Test
	@DisplayName( "Test that version is smaller than" )
	public void testVersionSmallerThan()
	{
		final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );

		assertEquals( -1, versionOne.compareTo( versionTwo ) );
		assertEquals( 1, versionTwo.compareTo( versionOne ) );
	}

	@Test
	@DisplayName( "Test that version is smaller than with helper method" )
	public void testVersionSmallerThanMethod()
	{
		final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );

		assertTrue( versionOne.isSmallerThan( versionTwo ) );
		assertFalse( versionTwo.isSmallerThan( versionOne ) );
	}

	@Test
	@DisplayName( "Test that version is greater than" )
	public void testVersionGreaterThan()
	{
		final Version versionOne = new Version( Short.valueOf( "3" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );

		assertEquals( 1, versionOne.compareTo( versionTwo ) );
		assertEquals( -1, versionTwo.compareTo( versionOne ) );
	}

	@Test
	@DisplayName( "Test that version is greater than with helper method" )
	public void testVersionGreaterThanMethod()
	{
		final Version versionOne = new Version( Short.valueOf( "3" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "3" ), Short.valueOf( "2" ) );

		assertTrue( versionOne.isGreaterThan( versionTwo ) );
		assertFalse( versionTwo.isGreaterThan( versionOne ) );
	}

	@Test
	@DisplayName( "Test that versions are equal (compareTo)" )
	public void testVersionEqualCompareTo()
	{
		final Version versionOne = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );
		final Version versionTwo = new Version( Short.valueOf( "2" ), Short.valueOf( "3" ) );

		assertEquals( 0, versionOne.compareTo( versionTwo ) );
		assertEquals( 0, versionTwo.compareTo( versionOne ) );
	}
}