import stormpy import stormpy.logic from helpers.helper import get_example_path import pytest class TestPrism: def test_prism_to_jani_states(self): program = stormpy.parse_prism_program(get_example_path("dtmc", "die.pm")) orig_properties = stormpy.parse_properties_for_prism_program("P=? [F s=7]", program) assert len(orig_properties) == 1 jani_model, new_properties = program.to_jani(orig_properties) assert len(new_properties) == len(orig_properties) def test_prism_to_jani_labels(self): program = stormpy.parse_prism_program(get_example_path("dtmc", "die.pm")) orig_properties = stormpy.parse_properties_for_prism_program("P=? [F \"two\"]", program) assert len(orig_properties) == 1 jani_model, new_properties = program.to_jani(orig_properties) assert len(new_properties) == len(orig_properties) def test_prism_to_jani_repetitive(self): program = stormpy.parse_prism_program(get_example_path("dtmc", "die.pm")) orig_properties = stormpy.parse_properties_for_prism_program("P=? [F \"two\"]", program) jani_model, new_properties = program.to_jani(orig_properties) assert len(new_properties) == len(orig_properties) orig_properties = stormpy.parse_properties_for_prism_program("P=? [F s=7]", program) jani_model, new_properties = program.to_jani(orig_properties, suffix = "2") assert len(new_properties) == len(orig_properties) def test_prism_variables(selfs): program = stormpy.parse_prism_program(get_example_path("dtmc", "die.pm")) module = program.modules[0] assert len(module.integer_variables) == 2 assert len(module.boolean_variables) == 0