summaryrefslogblamecommitdiffstats
path: root/src/test/java/org/openslx/virtualization/VersionTest.java
blob: 21464d9a125cd2e72916434be7fe4c29fd3fddcc (plain) (tree)
1
2
3
4
5



                                                            
                                                          







































                                                                                                  















                                                                                                                      
































                                                                                                     












                                                                                                     








                                                                                                     










                                                                                                     









                                                                                                     
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 ) );
	}
}