Example #1
0
 def testModel ( self ):
     A = State("A")
     B = State("B")
     A.add(A, .3) or A.add(B, .7)
     B.add(A, .5) or B.add(B, .5)
     self.assertEqual(A.prob("A"), .3, "P(A->A) not 0.3")
     self.assertEqual(A.prob(B), .7, "P(A->B) not 0.7")
     self.assertEqual(B.prob("A"), .5, "P(B->A) not 0.5")
     self.assertEqual(B.prob(B), .5, "P(B->B) not 0.5")
     
     chain = Chain((A, B))
     self.assertDictEqual(
         chain.transitionMatrix(),
         {"A": {"A": .3, "B": .7}, "B": {"A": .5, "B": .5}},
         "Transition matrix incorrect")