package pl.edu.amu.wmi.daut.re;
import java.util.ArrayList;
import pl.edu.amu.wmi.daut.base.AutomatonSpecification;
import junit.framework.TestCase;
import pl.edu.amu.wmi.daut.base.AutomatonByRecursion;
import pl.edu.amu.wmi.daut.re.DigitOperator.Factory;
/**
*
* Test klasy DigitOperator.
*/
public class TestDigitOperator extends TestCase {
/**
* Test metody createFixedAutomaton.
*/
public void testCreateFixedAutomaton() {
DigitOperator operator = new DigitOperator();
AutomatonSpecification spec = operator.createFixedAutomaton();
assertFalse(spec.isEmpty());
assertFalse(spec.acceptEmptyWord());
AutomatonByRecursion automaton = new AutomatonByRecursion(spec);
assertTrue(automaton.accepts("0"));
assertTrue(automaton.accepts("9"));
assertTrue(automaton.accepts("1"));
assertTrue(automaton.accepts("7"));
assertTrue(automaton.accepts("5"));
assertFalse(automaton.accepts(""));
assertFalse(automaton.accepts("a"));
assertFalse(automaton.accepts("b"));
assertFalse(automaton.accepts("93"));
assertFalse(automaton.accepts("100"));
assertFalse(automaton.accepts("207"));
}
/**
* Test fabryki.
*/
public void testFactory() {
Factory factory = new Factory();
assertEquals(factory.numberOfParams(), 0);
RegexpOperator operator2 = factory.createOperator(new ArrayList<String>());
int arity = operator2.arity();
assertEquals(arity, 0);
}
}