@Test public void readsInputFromPlayer() { Prompt prompt = new CommandLinePrompt(readerWithInput("1\n"), writer); Gesture gesture = prompt.readValidGestureFrom("player one"); assertThat(gesture, is(ROCK)); assertThat(writer.toString(), is("")); }
@Test public void repromptsUserWhenTheyEnterANumberOutsideOfGestureRange() { Prompt prompt = new CommandLinePrompt(readerWithInput("7\n2"), writer); Gesture gesture = prompt.readValidGestureFrom("Player one"); assertThat( writer.toString(), is("Player one - please enter:\n1 for ROCK\n2 for PAPER\n3 for SCISSORS\n")); assertThat(gesture, is(PAPER)); }
@Test(expected = ReadException.class) public void exceptionThrownWhenErrorReading() { Prompt prompt = new CommandLinePrompt(new StringReaderStub(), writer); prompt.readValidGestureFrom("Player one"); }