import org.junit.Test;
public class GuessTheNumberTest {
@Test
public void test() {
final var oldRandomNumberGenerator = GuessTheNumber._randomNumberGenerator;
GuessTheNumber._randomNumberGenerator = new MockRandomNumberGenerator(33);
try {
SystemInputOutputTester
.whenCallingThisMethod(() -> {GuessTheNumber.main(null);})
.assertTextOutput("Welcome to the number guessing program.")
//
.assertTextOutput("I am thinking of a number in the range of 1 to 100, inclusive.")
.assertTextOutput("You need to guess this number, with a minimum number of guesses.")
.assertTextOutput("Each time you guess, I will tell you if my number is HIGHER or LOWER than your guess.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("50")
.assertTextOutput("Your guess of 50 is TOO HIGH.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("25")
.assertTextOutput("Your guess of 25 is TOO LOW.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("37")
.assertTextOutput("Your guess of 37 is TOO HIGH.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("31")
.assertTextOutput("Your guess of 31 is TOO LOW.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("34")
.assertTextOutput("Your guess of 34 is TOO HIGH.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("32")
.assertTextOutput("Your guess of 32 is TOO LOW.")
//
.assertTextOutput("What is your guess?")
.provideLineInput("33")
.assertTextOutput("Your guess of 33 is CORRECT!")
//
.assertThatTheMethodReturnsHere();
} finally {
GuessTheNumber._randomNumberGenerator = oldRandomNumberGenerator;
}
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎