/**
* Copyright 2010 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.verifier.components;
import org.drools.verifier.VerifierComponentMockFactory;
import junit.framework.TestCase;
public class LiteralRestrictionTest extends TestCase {
public void testSetValue() {
Pattern pattern1 = VerifierComponentMockFactory.createPattern1();
LiteralRestriction literalBooleanRestriction = LiteralRestriction.createRestriction( pattern1,
"true" );
assertTrue( literalBooleanRestriction instanceof BooleanRestriction );
BooleanRestriction booleanRestriction = (BooleanRestriction) literalBooleanRestriction;
assertEquals( Field.BOOLEAN,
booleanRestriction.getValueType() );
assertEquals( true,
booleanRestriction.getValue() );
LiteralRestriction intLiteralRestriction = LiteralRestriction.createRestriction( pattern1,
"1" );
assertTrue( intLiteralRestriction instanceof NumberRestriction );
NumberRestriction intRestriction = (NumberRestriction) intLiteralRestriction;
assertTrue( intRestriction.isInt() );
assertEquals( Field.INT,
intRestriction.getValueType() );
assertEquals( 1,
intRestriction.getValue() );
LiteralRestriction doubleLiteralRestriction = LiteralRestriction.createRestriction( pattern1,
"1.0" );
assertTrue( doubleLiteralRestriction instanceof NumberRestriction );
NumberRestriction doubleRestriction = (NumberRestriction) doubleLiteralRestriction;
assertEquals( Field.DOUBLE,
doubleRestriction.getValueType() );
assertEquals( 1.0,
doubleRestriction.getValue() );
LiteralRestriction dateLiteralRestriction = LiteralRestriction.createRestriction( pattern1,
"11-jan-2008" );
assertTrue( dateLiteralRestriction instanceof DateRestriction );
DateRestriction dateRestriction = (DateRestriction) dateLiteralRestriction;
assertEquals( Field.DATE,
dateRestriction.getValueType() );
LiteralRestriction stringRestriction = LiteralRestriction.createRestriction( pattern1,
"test test" );
assertEquals( Field.STRING,
stringRestriction.getValueType() );
assertEquals( "test test",
stringRestriction.getValueAsString() );
LiteralRestriction nullRestriction = LiteralRestriction.createRestriction( pattern1,
null );
assertTrue( nullRestriction instanceof StringRestriction );
assertEquals( Field.UNKNOWN,
nullRestriction.getValueType() );
assertEquals( "",
nullRestriction.getValueAsString() );
}
}