package com.zachklipp.captivate.test.state_machine; import com.zachklipp.captivate.state_machine.*; import junit.framework.TestCase; public class StateMachineTest extends TestCase { private StateMachine machine; public void testNoStates() { try { new StateMachine((State) null, new State[][]{}); fail("Empty state machine created"); } catch (IllegalArgumentException ex) { // pass } } public void testSingleState() { State startState = new State("start"); machine = MockStateMachine.createWithSingleState(startState); assertSame(startState, machine.getCurrentState()); } public void testImplicitLoops() { State startState = new State("start"); machine = MockStateMachine.createWithSingleState(startState); machine.transitionTo(startState); assertSame(startState, machine.getCurrentState()); } public void testSingleStateByName() { State startState = new State("start"); machine = new MockStateMachine(startState.getName(), new State[][]{new State[]{startState}}); assertSame(startState, machine.getCurrentState()); } }