@Test public void mergeShouldThrowWhenRightIsNull() { MappingsImpl.Builder right = null; assertThatThrownBy(() -> MappingsImpl.Builder.merge(MappingsImpl.builder(), right)) .isInstanceOf(NullPointerException.class); }
@Test public void mergeShouldThrowWhenLeftIsNull() { MappingsImpl.Builder left = null; assertThatThrownBy(() -> MappingsImpl.Builder.merge(left, MappingsImpl.builder())) .isInstanceOf(NullPointerException.class); }
@Test public void mergeShouldReturnEmptyWhenBothAreEmpty() { MappingsImpl.Builder empty = MappingsImpl.builder(); MappingsImpl mappingsImpl = MappingsImpl.Builder .merge(empty, empty) .build(); assertThat(mappingsImpl.isEmpty()).isTrue(); }
@Test public void mergeShouldReturnRightWhenLeftIsEmpty() { Mapping expectedMapping = Mapping.address("toto"); MappingsImpl.Builder right = MappingsImpl.builder().add(expectedMapping); MappingsImpl.Builder empty = MappingsImpl.builder(); MappingsImpl mappingsImpl = MappingsImpl.Builder .merge(empty, right) .build(); assertThat(mappingsImpl).containsOnly(expectedMapping); }
@Test public void mergeShouldReturnBothWhenBothAreNotEmpty() { Mapping leftMapping = Mapping.address("toto"); MappingsImpl.Builder left = MappingsImpl.builder().add(leftMapping); Mapping rightMapping = Mapping.address("titi"); MappingsImpl.Builder right = MappingsImpl.builder().add(rightMapping); MappingsImpl mappingsImpl = MappingsImpl.Builder .merge(left, right) .build(); assertThat(mappingsImpl).containsOnly(leftMapping, rightMapping); }
@Test public void mergeShouldReturnLeftWhenRightIsEmpty() { Mapping expectedMapping = Mapping.address("toto"); MappingsImpl.Builder left = MappingsImpl.builder().add(expectedMapping); MappingsImpl.Builder empty = MappingsImpl.builder(); MappingsImpl mappingsImpl = MappingsImpl.Builder .merge(left, empty) .build(); assertThat(mappingsImpl).containsOnly(expectedMapping); }