### Question:
LongMetricSubject extends AbstractMetricSubject<Long, LongMetricSubject> { public static LongMetricSubject assertThat(@Nullable Metric<Long> metric) { return assertAbout(LongMetricSubject::new).that(metric); } private  LongMetricSubject(FailureMetadata metadata, Metric<Long> actual); static LongMetricSubject assertThat(@Nullable Metric<Long> metric); And<LongMetricSubject> hasValueForLabels(long value, String... labels);  }### Answer:
@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/incrementable/sheep> has no value for labels <Domestic:Green>." + " It has a value of <1>"); }