StringUtilsTest.java 1.86 KB
package fi.codecrew.moya.utilities;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;

public class StringUtilsTest {

	private static final Logger logger = LoggerFactory.getLogger(StringUtilsTest.class);

	@Test
	public void numericTest1()
	{
		Assert.assertTrue(NumericStringComparator.numericCompare("ABC123", "ABC123") == 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("123ABC", "123ABC") == 0);

		Assert.assertTrue(NumericStringComparator.numericCompare("A10", "A9") > 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("10A", "9A") > 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("10A11", "10A9") > 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("10A11", "9A9") > 0);

		Assert.assertTrue(NumericStringComparator.numericCompare("10A", "10A") == 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("10A1234", "10A1234") == 0);

		

		// Lexicographically... ie 'a'< 'b'

		Assert.assertTrue(NumericStringComparator.numericCompare("A", "a") < 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("A", "B") < 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("a", "9") > 0);
		Assert.assertTrue(NumericStringComparator.numericCompare("A", "9") > 0);

		Assert.assertTrue(NumericStringComparator.numericCompare("10", "9") > 0);

	}

	@Test(expectedExceptions = NullPointerException.class)
	public void nulltest1() {
		Assert.assertTrue(NumericStringComparator.numericCompare(null, "asd") == 0);
	}

	@Test(expectedExceptions = NullPointerException.class)
	public void nulltest2() {
		Assert.assertTrue(NumericStringComparator.numericCompare("asd", null) == 0);
	}

	@Test(expectedExceptions = NullPointerException.class)
	public void nulltest3() {
		Assert.assertTrue(NumericStringComparator.numericCompare(null, null) == 0);
	}

}