Added various tests to the NumberRangeTest class,
including tests for null parameters to overlap, include*, and constructors. Tests for hashCode, and tests for equals. git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@137683 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c997991e46
commit
7e81d9ca76
|
@ -53,6 +53,8 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.commons.lang;
|
package org.apache.commons.lang;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import junit.framework.Test;
|
import junit.framework.Test;
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
@ -62,33 +64,38 @@
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:chrise@esha.com">Christopher Elkins</a>
|
* @author <a href="mailto:chrise@esha.com">Christopher Elkins</a>
|
||||||
* @author <a href="mailto:ridesmet@users.sourceforge.net">Ringo De Smet</a>
|
* @author <a href="mailto:ridesmet@users.sourceforge.net">Ringo De Smet</a>
|
||||||
* @version $Revision: 1.5 $ $Date: 2003/08/18 02:22:25 $
|
* @author Tim O'Brien
|
||||||
|
* @version $Revision: 1.6 $ $Date: 2003/10/11 20:35:11 $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class NumberRangeTest extends TestCase {
|
public final class NumberRangeTest extends TestCase {
|
||||||
|
|
||||||
|
|
||||||
private NumberRange tenToTwenty;
|
private NumberRange tenToTwenty;
|
||||||
|
private NumberRange fifteenToTwentyFive;
|
||||||
|
private NumberRange fiveToNine;
|
||||||
private Number five;
|
private Number five;
|
||||||
|
private Number nine;
|
||||||
private Number ten;
|
private Number ten;
|
||||||
private Number fifteen;
|
private Number fifteen;
|
||||||
private Number twenty;
|
private Number twenty;
|
||||||
private Number twentyFive;
|
private Number twentyFive;
|
||||||
|
|
||||||
|
|
||||||
public NumberRangeTest(String name) {
|
public NumberRangeTest(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
five = new Integer(5);
|
five = new Integer(5);
|
||||||
|
nine = new Double(9.0);
|
||||||
ten = new Integer(10);
|
ten = new Integer(10);
|
||||||
fifteen = new Integer(15);
|
fifteen = new Integer(15);
|
||||||
twenty = new Integer(20);
|
twenty = new Integer(20);
|
||||||
twentyFive = new Integer(25);
|
twentyFive = new Integer(25);
|
||||||
|
|
||||||
tenToTwenty = new NumberRange(ten, twenty);
|
tenToTwenty = new NumberRange(ten, twenty);
|
||||||
|
fifteenToTwentyFive = new NumberRange( fifteen, twentyFive);
|
||||||
|
fiveToNine = new NumberRange( five, nine );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,6 +133,25 @@ public void testEquals() {
|
||||||
assertEquals(expected, result);
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testEqualsWithOtherObject() {
|
||||||
|
assertEquals( "A NumberRange should not equals a String object", false, fiveToNine.equals("TEST"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEqualsWithSameReference() {
|
||||||
|
assertEquals( "A NumberRange should equal itself", true, fiveToNine.equals(fiveToNine));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEqualsNull() {
|
||||||
|
assertEquals( "A NumberRange should not equal null", false, fiveToNine.equals(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testHashCode() {
|
||||||
|
NumberRange nr = new NumberRange( new Integer(5), new Double(9.0));
|
||||||
|
assertEquals( "The hashCode of 5-9 should equals the hashcode of another NumberRange of the same min/max",
|
||||||
|
fiveToNine.hashCode(), nr.hashCode());
|
||||||
|
assertTrue( "The hashCode of 10-20 should not equal the hashCode of 5-9",
|
||||||
|
fiveToNine.hashCode() != tenToTwenty.hashCode());
|
||||||
|
}
|
||||||
|
|
||||||
public void testIncludesNumber() {
|
public void testIncludesNumber() {
|
||||||
boolean expected = false;
|
boolean expected = false;
|
||||||
|
@ -149,6 +175,10 @@ public void testIncludesNumber() {
|
||||||
assertEquals(expected, result);
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testIncludesNumberNull() {
|
||||||
|
boolean result = tenToTwenty.includesNumber(null);
|
||||||
|
assertEquals("Includes number should return false for null values", false, result);
|
||||||
|
}
|
||||||
|
|
||||||
public void testIncludesRange() {
|
public void testIncludesRange() {
|
||||||
boolean expected = false;
|
boolean expected = false;
|
||||||
|
@ -182,44 +212,53 @@ public void testIncludesRange() {
|
||||||
assertEquals(expected, result);
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testConstructorNullParameters()
|
public void testIncludesRangeNull() {
|
||||||
{
|
boolean result = tenToTwenty.includesRange(null);
|
||||||
try
|
assertEquals("Includes range should return false for null values", false, result);
|
||||||
{
|
}
|
||||||
|
|
||||||
|
public void testConstructor() {
|
||||||
|
NumberRange nr = new NumberRange( new Double(2.0));
|
||||||
|
assertEquals("Unexpected min on NumberRange", 2.0, nr.getMinimum().doubleValue(), Double.MIN_VALUE);
|
||||||
|
assertEquals("Unexpected max on NumberRange", 2.0, nr.getMaximum().doubleValue(), Double.MIN_VALUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testConstructorNullParameters() {
|
||||||
|
try {
|
||||||
NumberRange nr = new NumberRange(null);
|
NumberRange nr = new NumberRange(null);
|
||||||
fail("NumberRange(null) did not throw an exception.");
|
fail("NumberRange(null) did not throw an exception.");
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e)
|
assertTrue( "NumberRange(null)", e instanceof NullPointerException);
|
||||||
{
|
|
||||||
assertTrue(
|
|
||||||
"NumberRange(null)",
|
|
||||||
e instanceof NullPointerException);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
NumberRange nr = new NumberRange(five, null);
|
NumberRange nr = new NumberRange(five, null);
|
||||||
fail("NumberRange(five, null) did not throw an exception.");
|
fail("NumberRange(five, null) did not throw an exception.");
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e)
|
assertTrue("NumberRange(five, null)", e instanceof NullPointerException);
|
||||||
{
|
|
||||||
assertTrue(
|
|
||||||
"NumberRange(five, null)",
|
|
||||||
e instanceof NullPointerException);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
NumberRange nr = new NumberRange(null, five);
|
NumberRange nr = new NumberRange(null, five);
|
||||||
fail("NumberRange(null, five) did not throw an exception.");
|
fail("NumberRange(null, five) did not throw an exception.");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertTrue("NumberRange(null, five)", e instanceof NullPointerException);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
assertTrue(
|
|
||||||
"NumberRange(null, five)",
|
|
||||||
e instanceof NullPointerException);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testConstructorWithMaxLessThanMin() {
|
||||||
|
NumberRange nr = new NumberRange( new Double(2.0), new Double(1.0));
|
||||||
|
assertEquals("Unexpected min on NumberRange", 2.0, nr.getMinimum().doubleValue(), Double.MIN_VALUE);
|
||||||
|
assertEquals("Unexpected max on NumberRange", 2.0, nr.getMaximum().doubleValue(), Double.MIN_VALUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testOverlap() {
|
||||||
|
assertEquals( "5-9 should not overlap 10-20", false, fiveToNine.overlaps( tenToTwenty ));
|
||||||
|
assertEquals( "10-20 should overlap 15-25", true, tenToTwenty.overlaps( fifteenToTwentyFive ));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testOverlapNull() {
|
||||||
|
assertEquals( "5-9 should not overlap null", false, fiveToNine.overlaps( null ));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testToString() {
|
public void testToString() {
|
||||||
|
@ -228,6 +267,18 @@ public void testToString() {
|
||||||
assertEquals(expected, result);
|
assertEquals(expected, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testToStringWithNegatives() {
|
||||||
|
String expected = "(-20)-(-10)";
|
||||||
|
NumberRange nr = new NumberRange( new Integer(-20), new Integer(-10));
|
||||||
|
String result = nr.toString();
|
||||||
|
assertEquals(expected, result);
|
||||||
|
|
||||||
|
expected = "(-20)-10";
|
||||||
|
nr = new NumberRange( new Integer(-20), new Integer(10));
|
||||||
|
result = nr.toString();
|
||||||
|
assertEquals(expected, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue