

/**
 * The test class AlleyWalkerTest.
 *
 * @author  Dave Reed
 * @version 11/10/04
 */
public class AlleyWalkerTest extends junit.framework.TestCase
{
    /**
     * Default constructor for test class AlleyWalkerTest
     */
    public AlleyWalkerTest()
    {
    }

    /**
     * Sets up the test fixture.
     *
     * Called before every test case method.
     */
    protected void setUp()
    {
    }

    /**
     * Tears down the test fixture.
     *
     * Called after every test case method.
     */
    protected void tearDown()
    {
    }

	public void testStarting()
	{
		AlleyWalker walker = new AlleyWalker();
		assertEquals(0, walker.getPosition());
		assertEquals(0, walker.getNumberOfSteps());
	}

	public void testFirstStep()
	{
		for (int i = 0; i < 10; i++) {
		    AlleyWalker walker = new AlleyWalker();
		    walker.doStep();
		    assertTrue(walker.getPosition() == -1 || walker.getPosition() == 1);
		    assertEquals(1, walker.getNumberOfSteps());
		}
	}
	
	public void testNumSteps()
	{
		AlleyWalker walker = new AlleyWalker();
		for (int i = 0; i < 10; i++) {
		    walker.doStep();
		}
		assertEquals(10, walker.getNumberOfSteps());
	}
}


