/*
* *************************************************************************************
* 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 junit.framework.TestCase;
import java.util.List;
import java.util.LinkedList;
import com.espertech.esper.collection.Pair;
public class TestStringPatternSetUtil extends TestCase
{
private List<Pair<StringPatternSet, Boolean>> patterns = new LinkedList<Pair<StringPatternSet, Boolean>>();
public void testEmpty()
{
assertTrue(StringPatternSetUtil.evaluate(true, patterns, "abc"));
assertFalse(StringPatternSetUtil.evaluate(false, patterns, "abc"));
}
public void testCombinationLike()
{
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetLike("%123%"), true));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetLike("%abc%"), false));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetLike("%def%"), true));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetLike("%xyz%"), false));
runAssertion();
}
public void testCombinationRegex()
{
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetRegex("(.)*123(.)*"), true));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetRegex("(.)*abc(.)*"), false));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetRegex("(.)*def(.)*"), true));
patterns.add(new Pair<StringPatternSet, Boolean>(new StringPatternSetRegex("(.)*xyz(.)*"), false));
runAssertion();
}
private void runAssertion()
{
assertTrue(StringPatternSetUtil.evaluate(false, patterns, "123"));
assertFalse(StringPatternSetUtil.evaluate(false, patterns, "123abc"));
assertTrue(StringPatternSetUtil.evaluate(false, patterns, "123abcdef"));
assertFalse(StringPatternSetUtil.evaluate(false, patterns, "123abcdefxyz"));
assertFalse(StringPatternSetUtil.evaluate(false, patterns, "456"));
assertTrue(StringPatternSetUtil.evaluate(true, patterns, "456"));
}
}