26 lines
1.0 KiB

  1. import stormpy
  2. class TestMatrix:
  3. def test_sparse_matrix(self):
  4. model = stormpy.parse_explicit_model("../examples/dtmc/die/die.tra", "../examples/dtmc/die/die.lab")
  5. matrix = model.transition_matrix()
  6. assert type(matrix) is stormpy.storage.SparseMatrix
  7. assert matrix.nr_rows() == model.nr_states()
  8. assert matrix.nr_columns() == model.nr_states()
  9. assert matrix.nr_entries() == 27 #model.nr_transitions()
  10. for e in matrix:
  11. assert e.val() == 0.5 or e.val() == 0 or (e.val() == 1 and e.column() > 6)
  12. def test_change_sparse_matrix(self):
  13. model = stormpy.parse_explicit_model("../examples/dtmc/die/die.tra", "../examples/dtmc/die/die.lab")
  14. matrix = model.transition_matrix()
  15. for e in matrix:
  16. assert e.val() == 0.5 or e.val() == 0 or e.val() == 1
  17. i = 0
  18. for e in matrix:
  19. e.set_val(i)
  20. i += 0.1
  21. i = 0
  22. for e in matrix:
  23. assert e.val() == i
  24. i += 0.1