示例#1
0
 def test_get_multiplied(self):
     factor1 = Factor([self.random_variables[0], self.random_variables[1]])
     factor2 = Factor([self.random_variables[1], self.random_variables[2]])
     factor1.add_value([1, 3], 10).add_value([1, 4], 20).add_value([2, 4],
                                                                   30)
     factor2.add_value([3, 2], 5).add_value([4, 2], 2)
     product_factor = factor1.get_multiplied(factor2)
     self.assertEqual(product_factor.get_value({
         'x': 1,
         'y': 3,
         'z': 2
     }), 50)
     self.assertEqual(product_factor.get_value({
         'x': 1,
         'y': 4,
         'z': 2
     }), 40)
     self.assertEqual(product_factor.get_value({
         'x': 2,
         'y': 4,
         'z': 2
     }), 60)
     self.assertEqual(product_factor.get_value({'x': 1, 'y': 5, 'z': 2}), 0)
     self.assertEqual(product_factor.get_value({'x': 2, 'y': 5, 'z': 2}), 0)
     self.assertEqual(product_factor.get_value({'x': 2, 'y': 5, 'z': 2}), 0)