MCPcopy Create free account
hub / github.com/akeranen/the-one / ScheduledUpdatesQueueTest

Class ScheduledUpdatesQueueTest

test/ScheduledUpdatesQueueTest.java:14–110  ·  view source on GitHub ↗

Tests for the ScheduledUpdatesQueue

Source from the content-addressed store, hash-verified

12 * Tests for the ScheduledUpdatesQueue
13 */
14public class ScheduledUpdatesQueueTest extends TestCase {
15 private static double MAX = Double.MAX_VALUE;
16 private ScheduledUpdatesQueue suq;
17 private SimClock sc = SimClock.getInstance();
18
19 protected void setUp() throws Exception {
20 super.setUp();
21 SimClock.reset();
22 suq = new ScheduledUpdatesQueue();
23 }
24
25 public void testUpdates() {
26 assertEquals(MAX, suq.nextEventsTime());
27 suq.addUpdate(1);
28 suq.addUpdate(1.5);
29 suq.addUpdate(20);
30 suq.addUpdate(3);
31 suq.addUpdate(0);
32 suq.addUpdate(5.3);
33
34 assertEquals(0.0, suq.nextEventsTime());
35 assertEquals(0.0, suq.nextEvent().getTime());
36
37 assertEquals(1.0, suq.nextEventsTime());
38 assertEquals(1.0, suq.nextEventsTime()); // twice the same request
39 assertEquals(1.0, suq.nextEvent().getTime());
40
41 assertEquals(1.5, suq.nextEvent().getTime());
42 assertEquals(3.0, suq.nextEvent().getTime());
43 assertEquals(5.3, suq.nextEvent().getTime());
44 assertEquals(20.0, suq.nextEvent().getTime());
45
46 assertEquals(MAX, suq.nextEventsTime());
47 assertEquals(MAX, suq.nextEvent().getTime());
48 }
49
50 public void testInterlavedRequests() {
51 suq.addUpdate(4);
52 suq.addUpdate(7);
53 suq.addUpdate(9);
54
55 sc.setTime(1.0);
56 assertEquals(4.0, suq.nextEvent().getTime());
57
58 suq.addUpdate(8.5);
59
60 suq.addUpdate(3); // to the top
61 assertEquals(3.0, suq.nextEvent().getTime());
62
63 suq.addUpdate(10); // to the bottom
64 sc.setTime(4.0);
65 assertEquals(7.0, suq.nextEvent().getTime());
66
67 sc.setTime(7.5);
68 assertEquals(8.5, suq.nextEvent().getTime());
69 sc.setTime(8.8);
70 assertEquals(9.0, suq.nextEvent().getTime());
71 sc.setTime(9.8);

Callers

nothing calls this directly

Calls 1

getInstanceMethod · 0.95

Tested by

no test coverage detected