/*
* *************************************************************************************
* Copyright (C) 2008 EsperTech, Inc. All rights reserved. *
* http://esper.codehaus.org *
* 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.type;
import com.espertech.esper.client.scopetest.EPAssertionUtil;
import junit.framework.TestCase;
import java.util.Set;
public class TestFrequencyParameter extends TestCase
{
public void testInvalid()
{
try
{
new FrequencyParameter(0);
fail();
}
catch (IllegalArgumentException ex)
{
// Expected
}
}
public void testIsWildcard()
{
FrequencyParameter freq = new FrequencyParameter(1);
assertTrue(freq.isWildcard(1,10));
freq = new FrequencyParameter(2);
assertFalse(freq.isWildcard(1,20));
}
public void testGetValues()
{
FrequencyParameter freq = new FrequencyParameter(3);
Set<Integer> result = freq.getValuesInRange(1, 8);
EPAssertionUtil.assertEqualsAnyOrder(new int[]{3, 6}, result);
freq = new FrequencyParameter(4);
result = freq.getValuesInRange(6, 16);
EPAssertionUtil.assertEqualsAnyOrder(new int[]{8, 12, 16}, result);
freq = new FrequencyParameter(4);
result = freq.getValuesInRange(0, 14);
EPAssertionUtil.assertEqualsAnyOrder(new int[]{0, 4, 8, 12}, result);
freq = new FrequencyParameter(1);
result = freq.getValuesInRange(2, 5);
EPAssertionUtil.assertEqualsAnyOrder(new int[]{2, 3, 4, 5}, result);
}
public void testContainsPoint() {
FrequencyParameter freqThree = new FrequencyParameter(3);
assertTrue(freqThree.containsPoint(0));
assertTrue(freqThree.containsPoint(3));
assertTrue(freqThree.containsPoint(6));
assertFalse(freqThree.containsPoint(1));
assertFalse(freqThree.containsPoint(2));
assertFalse(freqThree.containsPoint(4));
FrequencyParameter freqOne = new FrequencyParameter(1);
assertTrue(freqOne.containsPoint(1));
assertTrue(freqOne.containsPoint(2));
}
public void testFormat() {
FrequencyParameter freqThree = new FrequencyParameter(3);
assertEquals("*/3", freqThree.formatted());
}
}