package com.constellio.data.utils;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
import org.junit.Before;
import org.junit.Test;
public class CounterTest {
private Counter counter;
@Before
public void setUp() {
counter = new Counter();
}
@Test
public void whenCounterCreatedThenSetToZero() {
assertEquals(0, counter.current());
}
@Test
public void whenIncrementThenIncrement() {
Counter counter = new Counter();
assertEquals(1, counter.increment());
assertEquals(1, counter.current());
assertEquals(2, counter.increment());
assertEquals(2, counter.current());
}
@Test
public void whenResetThenSetToZero() {
Counter counter = new Counter();
counter.increment();
counter.increment();
counter.reset();
assertEquals(0, counter.current());
}
@Test
public void whenUseGlobalCounterThenCreateAndReuseSameInstance() {
Counter counter1 = Counter.global();
Counter counter2 = Counter.global();
assertSame(counter1, counter2);
}
}