/*
* File: DefaultBooleanToNumberConverterTest.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright June 17, 2008, Sandia Corporation.
* Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
* license for use of this work by or on behalf of the U.S. Government. Export
* of this program may require a license from the United States Government.
* See CopyrightHistory.txt for complete details.
*
*/
package gov.sandia.cognition.data.convert.number;
import java.util.Random;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Tests of DefaultBooleanToNumberConverter
* @author Justin Basilico
* @since 2.1
*/
public class DefaultBooleanToNumberConverterTest
{
/** The random object to use. */
protected Random random;
/**
* Creates a new test.
*/
public DefaultBooleanToNumberConverterTest()
{
this.random = new Random();
}
/**
* Tests the constants.
*/
@Test
public void testConstants()
{
assertEquals(1.0, DefaultBooleanToNumberConverter.DEFAULT_TRUE_VALUE, 0.0);
assertEquals(-1.0, DefaultBooleanToNumberConverter.DEFAULT_FALSE_VALUE, 0.0);
assertEquals(0.0, DefaultBooleanToNumberConverter.DEFAULT_NULL_VALUE, 0.0);
}
/**
* Tests the constructors.
*/
@Test
public void testConstructors()
{
Number trueValue = DefaultBooleanToNumberConverter.DEFAULT_TRUE_VALUE;
Number falseValue = DefaultBooleanToNumberConverter.DEFAULT_FALSE_VALUE;
Number nullValue = DefaultBooleanToNumberConverter.DEFAULT_NULL_VALUE;
DefaultBooleanToNumberConverter instance =
new DefaultBooleanToNumberConverter();
assertEquals(trueValue, instance.getTrueValue());
assertEquals(falseValue, instance.getFalseValue());
assertEquals(nullValue, instance.getNullValue());
trueValue = 3.0;
falseValue = 1.5;
nullValue = -1.0;
instance = new DefaultBooleanToNumberConverter(trueValue, falseValue, nullValue);
assertEquals(trueValue, instance.getTrueValue());
assertEquals(falseValue, instance.getFalseValue());
assertEquals(nullValue, instance.getNullValue());
}
/**
* Test of evaluate method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testEvaluate()
{
DefaultBooleanToNumberConverter instance =
new DefaultBooleanToNumberConverter();
assertEquals(+1.0, instance.evaluate(true));
assertEquals(-1.0, instance.evaluate(false));
assertEquals(0.0, instance.evaluate(null));
}
/**
* Test of convertToNumber method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testConvertToNumber()
{
Double trueValue = this.random.nextDouble();
Double falseValue = this.random.nextDouble();
Double nullValue = this.random.nextDouble();
DefaultBooleanToNumberConverter instance =
new DefaultBooleanToNumberConverter(trueValue, falseValue, nullValue);
assertEquals(trueValue, instance.convertToNumber(true));
assertEquals(falseValue, instance.convertToNumber(false));
assertEquals(nullValue, instance.convertToNumber(null));
}
/**
* Test of convertToBoolean method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testConvertToBoolean()
{
DefaultBooleanToNumberConverter instance =
new DefaultBooleanToNumberConverter();
assertEquals(true, instance.convertToBoolean(+1.0));
assertEquals(false, instance.convertToBoolean(-1.0));
assertEquals(null, instance.convertToBoolean(0.0));
assertEquals(null, instance.convertToBoolean(null));
assertEquals(true, instance.convertToBoolean(0.1));
assertEquals(false, instance.convertToBoolean(-0.1));
assertEquals(true, instance.convertToBoolean(4.0));
assertEquals(false, instance.convertToBoolean(-4.0));
}
/**
* Test of getTrueValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testGetTrueValue()
{
this.testSetTrueValue();
}
/**
* Test of setTrueValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testSetTrueValue()
{
Number trueValue = DefaultBooleanToNumberConverter.DEFAULT_TRUE_VALUE;
DefaultBooleanToNumberConverter instance = new DefaultBooleanToNumberConverter();
assertEquals(trueValue, instance.getTrueValue());
assertEquals(trueValue, instance.evaluate(true));
trueValue = 0.0;
instance.setTrueValue(trueValue);
assertEquals(trueValue, instance.getTrueValue());
assertEquals(trueValue, instance.evaluate(true));
trueValue = -1.0;
instance.setTrueValue(trueValue);
assertEquals(trueValue, instance.getTrueValue());
assertEquals(trueValue, instance.evaluate(true));
}
/**
* Test of getFalseValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testGetFalseValue()
{
this.testSetFalseValue();
}
/**
* Test of setFalseValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testSetFalseValue()
{
Number falseValue = DefaultBooleanToNumberConverter.DEFAULT_FALSE_VALUE;
DefaultBooleanToNumberConverter instance = new DefaultBooleanToNumberConverter();
assertEquals(falseValue, instance.getFalseValue());
assertEquals(falseValue, instance.evaluate(false));
falseValue = 0.0;
instance.setFalseValue(falseValue);
assertEquals(falseValue, instance.getFalseValue());
assertEquals(falseValue, instance.evaluate(false));
falseValue = 1.0;
instance.setFalseValue(falseValue);
assertEquals(falseValue, instance.getFalseValue());
assertEquals(falseValue, instance.evaluate(false));
falseValue = this.random.nextDouble();
instance.setFalseValue(falseValue);
assertEquals(falseValue, instance.getFalseValue());
assertEquals(falseValue, instance.evaluate(false));
}
/**
* Test of getNullValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testGetNullValue()
{
this.testSetNullValue();
}
/**
* Test of setNullValue method, of class DefaultBooleanToNumberConverter.
*/
@Test
public void testSetNullValue()
{
Number nullValue = DefaultBooleanToNumberConverter.DEFAULT_NULL_VALUE;
DefaultBooleanToNumberConverter instance = new DefaultBooleanToNumberConverter();
assertEquals(nullValue, instance.getNullValue());
assertEquals(nullValue, instance.evaluate(null));
nullValue = 1.0;
instance.setNullValue(nullValue);
assertEquals(nullValue, instance.getNullValue());
assertEquals(nullValue, instance.evaluate(null));
nullValue = -1.0;
instance.setNullValue(nullValue);
assertEquals(nullValue, instance.getNullValue());
assertEquals(nullValue, instance.evaluate(null));
nullValue = this.random.nextDouble();
instance.setNullValue(nullValue);
assertEquals(nullValue, instance.getNullValue());
assertEquals(nullValue, instance.evaluate(null));
nullValue = null;
instance.setNullValue(nullValue);
assertEquals(nullValue, instance.getNullValue());
assertEquals(nullValue, instance.evaluate(null));
}
}