@Test public void the_return_string_should_be_random() { int generatedTimes = 5; Set<String> numbersSet = new HashSet<>(); for (int i = 0; i < generatedTimes; i++) { numbersSet.add(numberGenerator.generate()); } assertThat(numbersSet.size(), is(generatedTimes)); }
@Test public void the_return_string_should_be_number() throws NumberFormatException { String generated = numberGenerator.generate(); try { Integer.parseInt(generated); } catch (NumberFormatException e) { fail("Not a number"); } }
@Test public void the_return_string_should_have_different_diggits() { String generated = numberGenerator.generate(); Set<Character> numberSet = new HashSet<>(); for (int i = 0; i < generated.length(); i++) { numberSet.add(generated.charAt(i)); } assertThat(numberSet.size(), is(4)); }
@Test public void the_return_string_length_should_be_4() { String generated = numberGenerator.generate(); assertThat(generated.length(), is(4)); }