package org.opendaylight.controller.cluster.access.client;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import com.google.common.testing.FakeTicker;
import java.util.concurrent.TimeUnit;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.matchers.apachecommons.ReflectionEquals;
public class AveragingProgressTrackerTest {
private static final long CHECKER = TimeUnit.MILLISECONDS.toNanos(500);
assertEquals(0, averagingProgressTracker.estimateIsolatedDelay(ticker.read()));
}
- @Test
- public void copyObjectTest() {
- final AveragingProgressTracker copyAverageProgressTracker = new AveragingProgressTracker(
- averagingProgressTracker);
-
- // copied object is the same as original
- assertTrue(new ReflectionEquals(averagingProgressTracker).matches(copyAverageProgressTracker));
-
- // afterwards work of copied tracker is independent
- averagingProgressTracker.openTask(ticker.read());
-
- final long time = ticker.read();
- assertNotEquals("Trackers are expected to return different results for tracking",
- averagingProgressTracker.openTask(time), copyAverageProgressTracker.openTask(time));
- assertNotEquals("Trackers are expected to encounter different amount of tasks",
- averagingProgressTracker.tasksEncountered(), copyAverageProgressTracker.tasksEncountered());
-
- // and copied object is then no more the same as original
- assertFalse(new ReflectionEquals(averagingProgressTracker).matches(copyAverageProgressTracker));
- }
}
\ No newline at end of file