def test_get_inverse(self): factor = Factor(self.random_variables) factor.add_value([1, 3, 2], 10).add_value([2, 4, 2], 20).add_value([2, 5, 2], 30) factor = factor.get_inverse() self.assertEqual(factor.get_value([1, 3, 2]), 1 / 10) self.assertEqual(factor.get_value([2, 4, 2]), 1 / 20) self.assertEqual(factor.get_value([2, 5, 2]), 1 / 30) self.assertEqual(factor.get_value([1, 4, 2]), float("inf")) self.assertEqual(factor.get_value([2, 3, 2]), float("inf"))