import stormpy class TestExpressions: def test_expression_manager(self): manager = stormpy.ExpressionManager() def test_boolean_expression(self): manager = stormpy.ExpressionManager() expression = manager.create_boolean(True) assert expression.is_literal() assert expression.evaluate_as_bool assert not expression.contains_variables() assert expression.has_boolean_type() assert not expression.has_integer_type() assert not expression.has_rational_type() def test_integer_expression(self): manager = stormpy.ExpressionManager() expression = manager.create_integer(2) assert expression.is_literal() assert not expression.contains_variables() assert not expression.has_boolean_type() assert expression.has_integer_type() assert not expression.has_rational_type() assert expression.evaluate_as_int() == 2 def test_rational_expression(self): manager = stormpy.ExpressionManager() expression = manager.create_rational(stormpy.Rational(0.2)) assert expression.is_literal() assert not expression.contains_variables() assert not expression.has_boolean_type() assert not expression.has_integer_type() assert expression.has_rational_type() assert expression.evaluate_as_double() == 0.2 def test_expression_parser(self): manager = stormpy.ExpressionManager() ep = stormpy.ExpressionParser(manager) ep.set_identifier_mapping(dict()) ex_true = ep.parse("true") assert str(ex_true) == "true" ex_one = ep.parse("1.0") assert str(ex_one) == "1" assert ex_one.has_rational_type()