@Test
public void testBuilder() {

    assertThat(ZERO.toBuilder().build()).isEqualTo(ZERO);
    assertThat(ONE.toBuilder().build()).isEqualTo(ONE);
    DataSource.Builder builder = newSample().toBuilder();
    assertThat(builder.build())
            .isEqualTo(newSample())
            .isNotSameAs(newSample())
            .isEqualTo(builder.build())
            .isNotSameAs(builder.build());
    assertThat(builder.put(K1, "hello").build().get(K1)).isEqualTo("hello");
    assertThat(builder.put(K1, true).build().get(K1)).isEqualTo("true");
    assertThat(builder.put(K1, 123).build().get(K1)).isEqualTo("123");
    assertThat(builder.clear().build().getParams()).isEmpty();
}