@Test
@SuppressWarnings("null")
public void testOnObsGathering() {

    ObsGathering defaultValue = ObsGathering.DEFAULT;
    ObsGathering newValue = ObsGathering.includingMissingValues(TsFrequency.Yearly, TsAggregationType.Average);
    assertBehavior(Params.onObsGathering(defaultValue, "f", "a", "s"), defaultValue, newValue, ImmutableMap.of("f", "Yearly", "a", "Average", "s", "false"));
    assertThatThrownBy(() -> Params.onObsGathering(null, "f", "a", "s")).isInstanceOf(NullPointerException.class);
    assertThatThrownBy(() -> Params.onObsGathering(defaultValue, null, "a", "s")).isInstanceOf(NullPointerException.class);
    assertThatThrownBy(() -> Params.onObsGathering(defaultValue, "f", null, "s")).isInstanceOf(NullPointerException.class);
    assertThatThrownBy(() -> Params.onObsGathering(defaultValue, "f", "a", null)).isInstanceOf(NullPointerException.class);
}