### Question:
HtmlUnitPerformanceTimingMetrics implements PerformanceTimingMetrics<HtmlUnitPerformanceTimingMetrics> { @Override public long getUnloadEventEnd() { return getEventValue(timing::getUnloadEventEnd); } HtmlUnitPerformanceTimingMetrics(PerformanceTiming timing);  HtmlUnitPerformanceTimingMetrics(PerformanceTiming timing, TimeUnit timeUnit); @Override HtmlUnitPerformanceTimingMetrics in(TimeUnit targetTimeUnit); @Override long getUnloadEventStart(); @Override long getUnloadEventEnd(); @Override long getRedirectStart(); @Override long getRedirectEnd(); @Override long getNavigationStart(); @Override long getFetchStart(); @Override long getDomainLookupStart(); @Override long getDomainLookupEnd(); @Override long getConnectStart(); @Override long getConnectEnd(); @Override Object getSecureConnectionStart(); @Override long getRequestStart(); @Override long getResponseStart(); @Override long getResponseEnd(); @Override long getDomLoading(); @Override long getDomInteractive(); @Override long getDomContentLoadedEventStart(); @Override long getDomContentLoadedEventEnd(); @Override long getDomComplete(); @Override long getLoadEventStart(); @Override long getLoadEventEnd();  }### Answer:
@Test public void shouldReturnNegativeValueIfEventHasNotBeenRegistered() { assertThat(metrics.getUnloadEventEnd()).isEqualTo(-16500L); }