The source code and dockerfile for the GSW2024 AI Lab.
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

46 lines
1.7 KiB

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()