@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));
  }