def testChangePercentage(self): self.assertEqual(utils.get_change_percentage(1, 1), 0) self.assertEqual(round(utils.get_change_percentage(1.1, 1), 2), 0.1) self.assertEqual(round(utils.get_change_percentage(2, 1), 2), 1) self.assertEqual(utils.get_change_percentage(1, 2), -0.5) self.assertEqual(utils.get_change_percentage(0, -1), 1) self.assertEqual(utils.get_change_percentage(1, -1), 2) self.assertEqual(utils.get_change_percentage(-2, -1), -1) self.assertEqual(utils.get_change_percentage(-1.5, -1), -0.5) with self.assertRaisesRegexp(Exception, "Invalid values"): utils.get_change_percentage(-1.5, 0)
def getValue(self): ret = None if self.windowFull(): prev = self.getValues()[0] actual = self.getValues()[-1] ret = utils.get_change_percentage(actual, prev) return ret
def getValue(self): ret = None if len(self.getValues()) == self.getWindowSize(): prev = self.getValues()[0] actual = self.getValues()[-1] ret = utils.get_change_percentage(actual, prev) return ret
def calculate(self): ret = None if self.isFull(): prev = self.data()[0] actual = self.data()[-1] ret = utils.get_change_percentage(actual, prev) return ret
def testChangePercentage(self): self.assertEqual(utils.get_change_percentage(1, 1), 0) self.assertEqual(round(utils.get_change_percentage(1.1, 1), 2), 0.1) self.assertEqual(round(utils.get_change_percentage(2, 1), 2), 1) self.assertEqual(utils.get_change_percentage(1, 2), -0.5) self.assertEqual(utils.get_change_percentage(0, -1), 1) self.assertEqual(utils.get_change_percentage(1, -1), 2) self.assertEqual(utils.get_change_percentage(-2, -1), -1) self.assertEqual(utils.get_change_percentage(-1.5, -1), -0.5)
def calculateValue(self, firstPos, lastPos): prev = self.getDataSeries().getValueAbsolute(firstPos) actual = self.getDataSeries().getValueAbsolute(lastPos) if actual is None or prev is None or prev == 0: return None return utils.get_change_percentage(actual, prev)