/** * calculate absolute time range based on current timestamp. * * @param currTime milliseconds * @return */ private AbsenceWindowProcessor nextProcessor(long currTime) { AbsenceWindow window = windowGenerator.nextWindow(currTime); return new AbsenceWindowProcessor(expectedAttrs, window); } }
@Test public void testDataMissing() { List<Object> expectedHosts = Arrays.asList("host1"); AbsenceWindow window = new AbsenceWindow(); window.startTime = 100L; window.endTime = 200L; AbsenceWindowProcessor processor = new AbsenceWindowProcessor(expectedHosts, window); processor.process(Arrays.asList("host2"), 90); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host3"), 101); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host3"), 138); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host2"), 189); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host2"), 201); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.absent); }
@Test(expected = IllegalStateException.class) public void testDataExists() { List<Object> expectedHosts = Arrays.asList("host1"); AbsenceWindow window = new AbsenceWindow(); window.startTime = 100L; window.endTime = 200L; AbsenceWindowProcessor processor = new AbsenceWindowProcessor(expectedHosts, window); processor.process(Arrays.asList("host2"), 90); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host3"), 101); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.not_sure); processor.process(Arrays.asList("host1"), 138); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.occured); processor.process(Arrays.asList("host2"), 189); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.occured); processor.process(Arrays.asList("host2"), 201); Assert.assertEquals(processor.checkStatus(), AbsenceWindowProcessor.OccurStatus.occured); Assert.assertEquals(processor.checkExpired(), true); processor.process(Arrays.asList("host2"), 225); } }