### Question:
RemainingPrincipalCondition extends AbstractRangeCondition<BigDecimal> { public static RemainingPrincipalCondition exact(final int minimumThreshold, final int maximumThreshold) { final RangeCondition<BigDecimal> c = RangeCondition.exact(Wrapper::getRemainingPrincipal, PRINCIPAL_DOMAIN, BigDecimal.valueOf(minimumThreshold), BigDecimal.valueOf(maximumThreshold)); return new RemainingPrincipalCondition(c); } private  RemainingPrincipalCondition(final RangeCondition<BigDecimal> condition); static RemainingPrincipalCondition lessThan(final int threshold); static RemainingPrincipalCondition moreThan(final int threshold); static RemainingPrincipalCondition exact(final int minimumThreshold,
            final int maximumThreshold);  }### Answer:
@Test void exact() { final MarketplaceFilterCondition condition = RemainingPrincipalCondition.exact(0, 1); final Wrapper<?> w = mock(Wrapper.class); when(w.getRemainingPrincipal()).thenReturn(BigDecimal.ZERO); assertThat(condition).accepts(w); when(w.getRemainingPrincipal()).thenReturn(BigDecimal.ONE); assertThat(condition).accepts(w); when(w.getRemainingPrincipal()).thenReturn(BigDecimal.TEN); assertThat(condition).rejects(w); }