/*******************************************************************************
* Copyright (c) 2007, 2014 compeople AG and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* compeople AG - initial API and implementation
*******************************************************************************/
package org.eclipse.riena.ui.ridgets.validation;
import org.eclipse.riena.core.test.RienaTestCase;
import org.eclipse.riena.core.test.collect.NonUITestCase;
/**
* Tests for the MinLength rule.
*/
@NonUITestCase
public class MinLengthTest extends RienaTestCase {
/**
* @throws Exception
* Handled by JUnit.
*/
public void testLength() throws Exception {
final MinLength rule = new MinLength(10);
try {
rule.validate(new Object());
fail("expected a thrown ValidationFailure");
} catch (final ValidationFailure f) {
ok("ValidationFailure expected");
}
assertTrue(rule.validate("0123456789ab").isOK());
assertTrue(rule.validate("0123456789a").isOK());
// whitespace
assertTrue(rule.validate("01 3 56 89a").isOK());
assertTrue(rule.validate("0123456789").isOK());
assertFalse(rule.validate("012345678").isOK());
assertFalse(rule.validate("abcde").isOK());
// null is treated like a blank string
assertFalse(rule.validate(null).isOK());
final MinLength zeroLengthRule = new MinLength(0);
assertTrue(zeroLengthRule.validate("abc").isOK());
assertTrue(zeroLengthRule.validate("a").isOK());
// whitespace
assertTrue(zeroLengthRule.validate(" ").isOK());
assertTrue(zeroLengthRule.validate("").isOK());
assertTrue(zeroLengthRule.validate(null).isOK());
}
/**
* Tests the method {@code setInitializationData}.
*
* @throws Exception
* Handled by JUnit.
*/
public void testSetInitializationData() throws Exception {
MinLength rule = new MinLength();
assertTrue(rule.validate("").isOK());
rule = new MinLength();
rule.setInitializationData(null, null, "5");
assertFalse(rule.validate("1").isOK());
assertTrue(rule.validate("12345").isOK());
rule = new MinLength();
rule.setInitializationData(null, null, "6,7");
assertFalse(rule.validate("12345").isOK());
assertTrue(rule.validate("123456").isOK());
}
public void testMinLengthAllowEmpty1() throws Exception {
final MinLength rule = new MinLengthAllowEmpty();
rule.setInitializationData(null, null, "5");
assertTrue(rule.validate("").isOK());
assertTrue(rule.validate(null).isOK());
assertFalse(rule.validate("11").isOK());
assertFalse(rule.validate("1234").isOK());
assertTrue(rule.validate("12345").isOK());
assertTrue(rule.validate("123456").isOK());
}
}