Store.ValueHolder<String> computed1 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, is(nullValue()));
}, SUPPLY_TRUE, SUPPLY_FALSE);
assertThat(computed1.get(), equalTo("one"));
Store.ValueHolder<String> computed2 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, equalTo("one"));
}, SUPPLY_TRUE, SUPPLY_FALSE);
assertThat(computed2.get(), equalTo("un"));
Store.ValueHolder<String> computed3 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, equalTo("un"));
Store.ValueHolder<String> computed1 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, is(nullValue()));
}, SUPPLY_FALSE, SUPPLY_FALSE);
assertThat(computed1.get(), equalTo("one"));
Store.ValueHolder<String> computed2 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, equalTo("one"));
Store.ValueHolder<String> computed1 = xaStore.computeAndGet(1L, (aLong, s) -> {
assertThat(aLong, is(1L));
assertThat(s, is(nullValue()));