|
@ -0,0 +1,21 @@ |
|
|
|
|
|
import pycarl |
|
|
|
|
|
import stormpy |
|
|
|
|
|
import stormpy.logic |
|
|
|
|
|
from helpers.helper import get_example_path |
|
|
|
|
|
|
|
|
|
|
|
class TestModel: |
|
|
|
|
|
def test_instantiate_dtmc(self): |
|
|
|
|
|
program = stormpy.parse_prism_program(get_example_path("pdtmc", "brp16_2.pm")) |
|
|
|
|
|
formulas = stormpy.parse_formulas_for_prism_program("P=? [ F s=5 ]", program) |
|
|
|
|
|
model = stormpy.build_parametric_model(program, formulas[0]) |
|
|
|
|
|
parameters = model.collect_probability_parameters() |
|
|
|
|
|
instantiator = stormpy.storage.PdtmcInstantiator(model) |
|
|
|
|
|
point = dict() |
|
|
|
|
|
for p in parameters: |
|
|
|
|
|
point[p] = 0.4 |
|
|
|
|
|
instantiated_model = instantiator.instantiate(point) |
|
|
|
|
|
assert instantiated_model.nr_states == model.nr_states |
|
|
|
|
|
assert not instantiated_model.has_parameters |
|
|
|
|
|
for p in parameters: |
|
|
|
|
|
point[p] = 0.5 |
|
|
|
|
|
instatiated_model2 = instantiator.instantiate(point) |