@Override public void clearState(Context c) throws Exception { c.state().access(bufferTag).clear(); }
@Test public void testCombiningIsEmpty() throws Exception { GroupingState<Integer, Integer> value = underTest.state(NAMESPACE_1, SUM_INTEGER_ADDR); assertThat(value.isEmpty().read(), Matchers.is(true)); ReadableState<Boolean> readFuture = value.isEmpty(); value.add(5); assertThat(readFuture.read(), Matchers.is(false)); value.clear(); assertThat(readFuture.read(), Matchers.is(true)); }
@Test public void testCombiningValue() throws Exception { GroupingState<Integer, Integer> value = underTest.state(NAMESPACE_1, SUM_INTEGER_ADDR); // State instances are cached, but depend on the namespace. assertEquals(value, underTest.state(NAMESPACE_1, SUM_INTEGER_ADDR)); assertFalse(value.equals(underTest.state(NAMESPACE_2, SUM_INTEGER_ADDR))); assertThat(value.read(), equalTo(0)); value.add(2); assertThat(value.read(), equalTo(2)); value.add(3); assertThat(value.read(), equalTo(5)); value.clear(); assertThat(value.read(), equalTo(0)); assertThat(underTest.state(NAMESPACE_1, SUM_INTEGER_ADDR), equalTo(value)); }