### Question:
DistributionMetricSubject extends AbstractMetricSubject<Distribution, DistributionMetricSubject> { public static DistributionMetricSubject assertThat(@Nullable Metric<Distribution> metric) { return assertAbout(DistributionMetricSubject::new).that(metric); } private  DistributionMetricSubject(FailureMetadata metadata, Metric<Distribution> actual); static DistributionMetricSubject assertThat(@Nullable Metric<Distribution> metric); And<DistributionMetricSubject> hasDataSetForLabels(
      ImmutableSet<? extends Number> dataSet, String... labels);  }### Answer:
@Test public void testWrongNumberOfLabels_fails() { AssertionError e = assertThrows( AssertionError.class, () -> assertThat(metric).hasAnyValueForLabels("Domestic")); assertThat(e) .hasMessageThat() .isEqualTo( "Not true that </test/event/sheep> has a value for labels <Domestic>." + " It has labeled values <[Bighorn:Blue =>" + " {[4.0..16.0)=1}, Domestic:Green => {[1.0..4.0)=1}]>"); }
@Test public void testDoesNotHaveWrongNumberOfLabels_succeeds() { assertThat(metric).doesNotHaveAnyValueForLabels("Domestic"); }
@Test public void testHasAnyValueForLabels_success() { assertThat(metric) .hasAnyValueForLabels("Domestic", "Green") .and() .hasAnyValueForLabels("Bighorn", "Blue") .and() .hasNoOtherValues(); }
@Test public void testDoesNotHaveValueForLabels_success() { assertThat(metric).doesNotHaveAnyValueForLabels("Domestic", "Blue"); }
@Test public void testDoesNotHaveValueForLabels_failure() { AssertionError e = assertThrows( AssertionError.class, () -> assertThat(metric).doesNotHaveAnyValueForLabels("Domestic", "Green")); assertThat(e) .hasMessageThat() .isEqualTo( "Not true that </test/event/sheep> has no value for labels <Domestic:Green>." + " It has a value of <{[1.0..4.0)=1}>"); }
@Test public void testUnexpectedValue_failure() { AssertionError e = assertThrows( AssertionError.class, () -> assertThat(metric) .hasAnyValueForLabels("Domestic", "Green") .and() .hasNoOtherValues()); assertThat(e) .hasMessageThat() .isEqualTo( "Not true that </test/event/sheep> has <no other nondefault values>." + " It has labeled values <[Bighorn:Blue =>" + " {[4.0..16.0)=1}, Domestic:Green => {[1.0..4.0)=1}]>"); }