def test_get_value(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) self.assertEqual(factor.get_value([1, 3, 2]), 10) self.assertEqual(factor.get_value([2, 4, 2]), 20) self.assertEqual(factor.get_value([2, 5, 2]), 30) self.assertEqual(factor.get_value([1, 4, 2]), 0) self.assertEqual(factor.get_value([2, 3, 2]), 0)
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"))
def test_get_constant_multiplied(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_constant_multiplied(2) self.assertEqual(factor.get_value([1, 3, 2]), 20) self.assertEqual(factor.get_value([2, 4, 2]), 40) self.assertEqual(factor.get_value([2, 5, 2]), 60) self.assertEqual(factor.get_value([1, 4, 2]), 0) self.assertEqual(factor.get_value([2, 3, 2]), 0)
def test_get_normalized(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_normalized() self.assertAlmostEquals(1 / 6, factor.get_value([1, 3, 2])) self.assertAlmostEquals(1 / 3, factor.get_value([2, 4, 2])) self.assertAlmostEquals(1 / 2, factor.get_value([2, 5, 2])) self.assertAlmostEquals(0, factor.get_value([1, 4, 2])) self.assertAlmostEquals(0, factor.get_value([1, 5, 2])) self.assertAlmostEquals(0, factor.get_value([2, 3, 2]))