def test_matrix_structure_without_loops(self): b = Transition(D('0.4'), D('10')) a = Transition(D('0.6'), D('20')) f = Transition(D('0.5'), D('10')) d = Transition(D('0.5'), D('15')) e = Transition(D('0.8'), D('5')) z = Transition(D('0.2'), D('10')) trans_matrix = TransitionMatrix([ [_, _, b, a], [_, _, _, _], [_, f, _, d], [_, e, z, _] ]) cell_1_2 = transform_trans_while_excluding_vertex( column_trans=a, row_trans=e, host_cell=_) cell_1_3 = transform_trans_while_excluding_vertex( column_trans=a, row_trans=z, host_cell=b) cell_3_2 = transform_trans_while_excluding_vertex( column_trans=d, row_trans=e, host_cell=f) cell_3_3 = transform_trans_while_excluding_vertex( column_trans=d, row_trans=z, host_cell=_) trans_matrix_after_excluding = TransitionMatrix([ [_, cell_1_2, cell_1_3], [_, _, _], [_, cell_3_2, cell_3_3], ]) trans_matrix.exclude_last_vertex() self.assertEqual(repr(trans_matrix), repr(trans_matrix_after_excluding))
def test_matrix_structure_without_loops(self): b = Transition(D('0.4'), D('10')) a = Transition(D('0.6'), D('20')) f = Transition(D('0.5'), D('10')) d = Transition(D('0.5'), D('15')) e = Transition(D('0.8'), D('5')) z = Transition(D('0.2'), D('10')) trans_matrix = TransitionMatrix([[_, _, b, a], [_, _, _, _], [_, f, _, d], [_, e, z, _]]) cell_1_2 = transform_trans_while_excluding_vertex(column_trans=a, row_trans=e, host_cell=_) cell_1_3 = transform_trans_while_excluding_vertex(column_trans=a, row_trans=z, host_cell=b) cell_3_2 = transform_trans_while_excluding_vertex(column_trans=d, row_trans=e, host_cell=f) cell_3_3 = transform_trans_while_excluding_vertex(column_trans=d, row_trans=z, host_cell=_) trans_matrix_after_excluding = TransitionMatrix([ [_, cell_1_2, cell_1_3], [_, _, _], [_, cell_3_2, cell_3_3], ]) trans_matrix.exclude_last_vertex() self.assertEqual(repr(trans_matrix), repr(trans_matrix_after_excluding))
def test_sum_of_probabilities_is_equal_to_one_or_zero(self): b = Transition(D('0.4'), D('10')) a = Transition(D('0.6'), D('20')) f = Transition(D('0.5'), D('10')) d = Transition(D('0.5'), D('15')) e = Transition(D('0.8'), D('5')) z = Transition(D('0.2'), D('10')) trans_matrix = TransitionMatrix([[_, _, b, a], [_, _, _, _], [_, f, _, d], [_, e, z, _]]) trans_matrix.exclude_last_vertex() all_rows_are_ok_after_excluding_first_loop = all( check_sum_of_probabilities(row) for row in trans_matrix._matrix) self.assertTrue(all_rows_are_ok_after_excluding_first_loop)
def test_sum_of_probabilities_is_equal_to_one_or_zero(self): b = Transition(D('0.4'), D('10')) a = Transition(D('0.6'), D('20')) f = Transition(D('0.5'), D('10')) d = Transition(D('0.5'), D('15')) e = Transition(D('0.8'), D('5')) z = Transition(D('0.2'), D('10')) trans_matrix = TransitionMatrix([ [_, _, b, a], [_, _, _, _], [_, f, _, d], [_, e, z, _] ]) trans_matrix.exclude_last_vertex() all_rows_are_ok_after_excluding_first_loop = all( check_sum_of_probabilities(row) for row in trans_matrix._matrix ) self.assertTrue(all_rows_are_ok_after_excluding_first_loop)