You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.7 KiB
37 lines
1.7 KiB
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
|