### Question:
MultiValue { public boolean addValue(String value) { if (value == null) { value = ""; } if (values.contains(value)) { return false; } return values.add(value); }  boolean addValue(String value); boolean removeValue(final String value); Collection<String> getValues(); int size(); boolean contains(final String value); boolean hasValues(); void removeAll(); boolean isEmpty(); @Override String toString();  }### Answer:
@Test public void shouldAllowNullsAsInput() { assertThat(multiValue.addValue(null), is(true)); }
@Test() public void shouldAllowEmptyStringValues() { assertThat(multiValue.addValue(""), is(true)); }
@Test public void shouldReturnFalseWhenAddingDoesNotChangeInstance() { assertThat("No change indicated!", multiValue.addValue("1.0.0"), is(true)); assertThat("Change indicated!", multiValue.addValue("1.0.0"), is(false)); }