package de.saring.util; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import java.util.Locale; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** * This class contains all unit tests for the ValidationUtilsTest class. * * @author Stefan Saring */ public class ValidationUtilsTest { private static Locale defaultLocale; /** * Set default locale to GERMAN, because the number validation tests are locale dependent. */ @BeforeClass public static void initLocale() { defaultLocale = Locale.getDefault(); Locale.setDefault(Locale.GERMAN); } /** * Reset default locale to previous value. */ @AfterClass public static void resetLocale() { Locale.setDefault(defaultLocale); } /** * Tests the method isValueIntegerBetween() for success conditions. */ @Test public void testIsValueIntegerBetweenSuccess() { assertTrue(ValidationUtils.isValueIntegerBetween("0", 0, 23)); assertTrue(ValidationUtils.isValueIntegerBetween("10", 0, 23)); assertTrue(ValidationUtils.isValueIntegerBetween("23", 0, 23)); } /** * Tests the method isValueIntegerBetween() for failure conditions. */ @Test public void testIsValueIntegerBetweenFailed() { assertFalse(ValidationUtils.isValueIntegerBetween(null, 0, 23)); assertFalse(ValidationUtils.isValueIntegerBetween("", 0, 23)); assertFalse(ValidationUtils.isValueIntegerBetween("foo", 0, 23)); assertFalse(ValidationUtils.isValueIntegerBetween("-1", 0, 23)); assertFalse(ValidationUtils.isValueIntegerBetween("24", 0, 23)); } /** * Tests the method isOptionalValueIntegerBetween() for success conditions. */ @Test public void testIsOptionalValueIntegerBetweenSuccess() { assertTrue(ValidationUtils.isOptionalValueIntegerBetween(null, 0, 23)); assertTrue(ValidationUtils.isOptionalValueIntegerBetween(" ", 0, 23)); assertTrue(ValidationUtils.isOptionalValueIntegerBetween("0", 0, 23)); assertTrue(ValidationUtils.isOptionalValueIntegerBetween("10", 0, 23)); assertTrue(ValidationUtils.isOptionalValueIntegerBetween("23", 0, 23)); } /** * Tests the method isOptionalValueIntegerBetween() for failure conditions. */ @Test public void testIsOptionalValueIntegerBetweenFailed() { assertFalse(ValidationUtils.isOptionalValueIntegerBetween("foo", 0, 23)); assertFalse(ValidationUtils.isOptionalValueIntegerBetween("-1", 0, 23)); assertFalse(ValidationUtils.isOptionalValueIntegerBetween("24", 0, 23)); } /** * Tests the method isValueDoubleBetween() for success conditions. */ @Test public void testIsValueDoubleBetween() { assertTrue(ValidationUtils.isValueDoubleBetween("0", 0, 100)); assertTrue(ValidationUtils.isValueDoubleBetween("100", 0, 100)); assertTrue(ValidationUtils.isValueDoubleBetween("0,1", 0, 100)); assertTrue(ValidationUtils.isValueDoubleBetween("99,9", 0, 100)); assertTrue(ValidationUtils.isValueDoubleBetween("-1,0", -2, 0)); assertTrue(ValidationUtils.isValueDoubleBetween("100,3", 0, 100.3)); } /** * Tests the method isValueDoubleBetween() for failure conditions. */ @Test public void testIsValueDoubleBetweenFailed() { assertFalse(ValidationUtils.isValueDoubleBetween(null, 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("foo", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("-1", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("101", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("-0,1", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("100,1", 0, 100)); assertFalse(ValidationUtils.isValueDoubleBetween("100.0", 0, 100)); // 100.0 is evaluated to 1000 assertFalse(ValidationUtils.isValueDoubleBetween("100,11", 0, 100.1)); } /** * Tests the method isValueTimeInSecondsBetween() for success conditions. */ @Test public void testIsValueTimeInSecondsBetweenSuccess() { assertTrue(ValidationUtils.isValueTimeInSecondsBetween("0", 0, 3600)); assertTrue(ValidationUtils.isValueTimeInSecondsBetween("59:0", 0, 3600)); assertTrue(ValidationUtils.isValueTimeInSecondsBetween("59:59", 0, 3600)); assertTrue(ValidationUtils.isValueTimeInSecondsBetween("0000:59:59", 0, 3600)); assertTrue(ValidationUtils.isValueTimeInSecondsBetween("1:0:0", 0, 3600)); } /** * Tests the method isValueTimeInSecondsBetween() for failure conditions. */ @Test public void testIsValueTimeInSecondsBetweenFailed() { assertFalse(ValidationUtils.isValueTimeInSecondsBetween(null, 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("", 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("foo", 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0:59", 60, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0:0:59", 60, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("1:00:01", 60, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0:10:10a", 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0a:10:10", 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0:1a:10", 0, 3600)); assertFalse(ValidationUtils.isValueTimeInSecondsBetween("0::10", 0, 3600)); } }