From: miroslav.kovac Date: Wed, 8 Mar 2017 12:03:38 +0000 (+0100) Subject: Unit test for AveragingProgressTracker class X-Git-Tag: release/carbon~175 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=264fb04dd7f4fecfdf93d337c574aebc34c168f2 Unit test for AveragingProgressTracker class Change-Id: Ice50c174cfe365e171aef1b3c4485cf49356c534 Signed-off-by: miroslav.kovac --- diff --git a/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/AveragingProgressTrackerTest.java b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/AveragingProgressTrackerTest.java new file mode 100644 index 0000000000..fdaff6fb4a --- /dev/null +++ b/opendaylight/md-sal/cds-access-client/src/test/java/org/opendaylight/controller/cluster/access/client/AveragingProgressTrackerTest.java @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.cluster.access.client; + +import static org.junit.Assert.assertEquals; + +import org.junit.Before; +import org.junit.Test; + +public class AveragingProgressTrackerTest { + + private static final long NOW = 1000000000; + private static final long CHECKER = 500000000; + private ProgressTracker averagingProgressTracker; + + @Before + public void setUp() { + averagingProgressTracker = new AveragingProgressTracker(4); + long delay = averagingProgressTracker.estimateIsolatedDelay(NOW); + assertEquals(0, delay); + for (int i = 0; i < 2; i++) { + delay = averagingProgressTracker.openTask(NOW); + assertEquals(0, delay); + } + } + + @Test + public void estimateIsolatedDelayTest() { + long delay = averagingProgressTracker.openTask(NOW); + assertEquals(CHECKER, delay); + + delay = averagingProgressTracker.openTask(NOW); + assertEquals(NOW, delay); + + delay = averagingProgressTracker.estimateIsolatedDelay(NOW); + assertEquals(CHECKER, delay); + + averagingProgressTracker.closeTask(3000000000L, 0, 0, 0); + + delay = averagingProgressTracker.estimateIsolatedDelay(NOW); + assertEquals(0, delay); + } + + @Test + public void copyObjectTest() { + final ProgressTracker copyAverageProgressTracker = + new AveragingProgressTracker((AveragingProgressTracker) averagingProgressTracker); + assertEquals(copyAverageProgressTracker.openTask(NOW), averagingProgressTracker.openTask(NOW)); + assertEquals(averagingProgressTracker.tasksClosed(), copyAverageProgressTracker.tasksClosed()); + assertEquals(averagingProgressTracker.tasksEncountered(), copyAverageProgressTracker.tasksEncountered()); + assertEquals(averagingProgressTracker.tasksOpen(), copyAverageProgressTracker.tasksOpen()); + } + +} \ No newline at end of file