/*
***************************************************************************************
* Copyright (C) 2006 EsperTech, Inc. All rights reserved. *
* http://www.espertech.com/esper *
* http://www.espertech.com *
* ---------------------------------------------------------------------------------- *
* The software in this package is published under the terms of the GPL license *
* a copy of which has been included with this distribution in the license.txt file. *
***************************************************************************************
*/
package com.espertech.esper.filter;
import junit.framework.TestCase;
public class TestFilterSpecParamRange extends TestCase {
public void testConstruct() {
DoubleRange range = new DoubleRange(3d, 3d);
makeParam("a", FilterOperator.RANGE_HALF_OPEN, range);
try {
makeParam("a", FilterOperator.EQUAL, range);
assertTrue(false);
} catch (IllegalArgumentException ex) {
// Expected exception
}
}
public void testEquals() {
FilterSpecParam c1 = makeParam("a", FilterOperator.RANGE_CLOSED, new DoubleRange(5d, 6d));
FilterSpecParam c2 = makeParam("b", FilterOperator.RANGE_CLOSED, new DoubleRange(5d, 6d));
FilterSpecParam c3 = makeParam("a", FilterOperator.RANGE_HALF_CLOSED, new DoubleRange(5d, 6d));
FilterSpecParam c4 = makeParam("a", FilterOperator.RANGE_CLOSED, new DoubleRange(7d, 6d));
FilterSpecParam c5 = makeParam("a", FilterOperator.RANGE_CLOSED, new DoubleRange(5d, 6d));
assertFalse(c1.equals(c2));
assertFalse(c1.equals(c3));
assertFalse(c1.equals(c4));
assertTrue(c1.equals(c5));
}
private FilterSpecParamRange makeParam(String propertyName, FilterOperator filterOp, DoubleRange doubleRange) {
return new FilterSpecParamRange(makeLookupable(propertyName), filterOp,
new FilterForEvalConstantDouble(doubleRange.getMin()),
new FilterForEvalConstantDouble(doubleRange.getMax()));
}
private FilterSpecLookupable makeLookupable(String fieldName) {
return new FilterSpecLookupable(fieldName, null, Double.class, false);
}
}