### Question:
SingletonPrimitiveSpliteratorOfLong implements Spliterator.OfLong { @Override public boolean tryAdvance(LongConsumer consumer) { Objects.requireNonNull(consumer); if (estimatedSize > 0) { estimatedSize--; consumer.accept(element); return true; } return false; } SingletonPrimitiveSpliteratorOfLong(long element); @Override OfLong trySplit(); @Override boolean tryAdvance(LongConsumer consumer); @Override void forEachRemaining(LongConsumer consumer); @Override long estimateSize(); @Override int characteristics();  }### Answer:
@Test void tryAdvanceIntConsumer() { assertTrue(instance.tryAdvance((LongConsumer) i -> cnt.incrementAndGet())); assertEquals(1, cnt.get()); }
@Test void tryAdvanceConsumer() { assertTrue(instance.tryAdvance((Consumer<Long>) i -> cnt.incrementAndGet())); assertEquals(1, cnt.get()); }
@Test void tryAdvanceIntConsumerAfterAdvance() { instance.tryAdvance((LongConsumer) i -> {}); assertFalse(instance.tryAdvance((LongConsumer) i -> cnt.incrementAndGet())); assertEquals(0, cnt.get()); }
@Test void tryAdvanceConsumerAfterAdvance() { instance.tryAdvance((Consumer<Long>) i -> {}); assertFalse(instance.tryAdvance((Consumer<Long>) i -> cnt.incrementAndGet())); assertEquals(0, cnt.get()); }