def test_calc_near_is_better(self): data = self.__create_test_data() values = vector_manager.to_vector("bpm", data) max_value = max(filter(None, values)) min_value = min(filter(None, values)) selected = EvaluateItem().set_params(100, 10, datetime(2010, 4, 1, 0, 0)) calc_result = [1 - abs(v - selected.bpm) / (max_value - min_value) for v in values if v] calc_returned = ItemEvaluator.calc_near_is_better("bpm", data, selected) for index, value in enumerate(calc_result): self.assertLess(abs(calc_result[index] - calc_returned[index]), 1 / pow(10, 5)) print(calc_result[index])