package org.infernus.idea.checkstyle.build;
import org.junit.Assert;
import org.junit.Test;
/**
* Unit tests of {@link VersionComparator}.
*
* @author Thomas Jensen
*/
public class VersionComparatorTest
{
@Test
public void testComp()
{
VersionComparator testee = new VersionComparator();
Assert.assertTrue(testee.compare("6.1", "6.1.2") < 0);
Assert.assertTrue(testee.compare("6.1.2", "6.1") > 0);
Assert.assertTrue(testee.compare("6.2", "6.1.2") > 0);
Assert.assertTrue(testee.compare("6.1.2", "6.2") < 0);
Assert.assertTrue(testee.compare("6.1", "7.1") < 0);
Assert.assertTrue(testee.compare("7.1", "6.1") > 0);
Assert.assertTrue(testee.compare("6.1.3", "6.1.2") > 0);
Assert.assertTrue(testee.compare("6.1.2", "6.1.3") < 0);
Assert.assertTrue(testee.compare("6.1", "foo") < 0);
Assert.assertTrue(testee.compare("foo", "6.1") > 0);
Assert.assertTrue(testee.compare("foo", "FOO") > 0);
Assert.assertTrue(testee.compare("FOO", "foo") < 0);
Assert.assertTrue(testee.compare("6.1", null) < 0);
Assert.assertTrue(testee.compare(null, "6.1") > 0);
Assert.assertTrue(testee.compare(null, null) == 0);
Assert.assertTrue(testee.compare("6.1.2", "6.1.2") == 0);
Assert.assertTrue(testee.compare("6.1", "6.1") == 0);
Assert.assertTrue(testee.compare("foo", "foo") == 0);
Assert.assertTrue(testee.compare("6", "0815") > 0); // lex. order b/c "6" does not match version pattern
Assert.assertTrue(testee.compare("6.1", "6.x") < 0);
Assert.assertTrue(testee.compare("6.x", "6.1") > 0);
Assert.assertTrue(testee.compare("6.1.8", "6.1.x") < 0);
Assert.assertTrue(testee.compare("6.1.x", "6.1.8") > 0);
}
}