class EventLevelSlidingWindowTest(unittest.TestCase): """ Unit tests for the SlidingWindow class """ def setUp(self): self.eventLevelSlidingWindowStrategy = EventLevelStrategy('TestData') # Parsed training data for five sub-window example self.fiveSubWindowTrainingData = [ ((2, 0, 1, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), True), ((1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), False), ((0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), (0, 0, 0, 0), False) ] # Parsed training data for six sub-window example self.sixSubWindowTrainingData = [ ((2, 0, 1, 0), (0, 0, 0, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), True), ((0, 0, 0, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), False), ((1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), (0, 0, 0, 0), False) ] self.projectRoot = os.environ['PROJECT_ROOT'] def testParseTrainingDataEmpty(self): """ Tests that no training data is returned when passed an empty log """ actualTrainingData = self.eventLevelSlidingWindowStrategy.parseWindowedLogData([]) self.assertEqual([], actualTrainingData) def testParseTrainingDataNone(self): """ Tests that no training data is returned when passed a null log """ actualTrainingData = self.eventLevelSlidingWindowStrategy.parseWindowedLogData(None) self.assertEqual([], actualTrainingData) def testParseTrainingDataInvalid(self): """ Tests that no training data is returned when passed an invalid log """ try: self.eventLevelSlidingWindowStrategy.parseWindowedLogData([[]]) self.fail('Trying to parse an invalid log should have thrown an exception!') except StrategyError, error: self.assertEqual('Error parsing windowed log data, found window with 0 sub-windows!', error.message) try: self.eventLevelSlidingWindowStrategy.parseWindowedLogData([[[{}]]]) self.fail('Trying to parse an invalid log should have thrown an exception!') except StrategyError, error: self.assertEqual('Error parsing windowed log data, found window with 1 sub-windows!', error.message)
def setUp(self): self.eventLevelSlidingWindowStrategy = EventLevelStrategy('TestData') # Parsed training data for five sub-window example self.fiveSubWindowTrainingData = [ ((2, 0, 1, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), True), ((1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), False), ((0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), (0, 0, 0, 0), False) ] # Parsed training data for six sub-window example self.sixSubWindowTrainingData = [ ((2, 0, 1, 0), (0, 0, 0, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), True), ((0, 0, 0, 0), (1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), False), ((1, 0, 1, 0), (0, 3, 0, 0), (0, 0, 0, 0), (1, 0, 0, 1), (0, 0, 0, 0), False) ] self.projectRoot = os.environ['PROJECT_ROOT']