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.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							1.7 KiB
						
					
					
				| import stormpy | |
| from stormpy.logic import logic | |
| 
 | |
| class TestFormulas: | |
| 
 | |
|     def test_probability_formula(self): | |
|         prop = "P=? [F \"one\"]" | |
|         formulas = stormpy.parse_formulas(prop) | |
|         formula = formulas[0] | |
|         assert type(formula) == logic.ProbabilityOperator | |
|         assert len(formulas) == 1 | |
|         assert str(formula) == prop | |
| 
 | |
|     def test_reward_formula(self): | |
|         prop = "R=? [F \"one\"]" | |
|         formulas = stormpy.parse_formulas(prop) | |
|         formula = formulas[0] | |
|         assert type(formula) == logic.RewardOperator | |
|         assert len(formulas) == 1 | |
|         assert str(formula) == "R[exp]=? [F \"one\"]" | |
| 
 | |
|     def test_formula_list(self): | |
|         formulas = [] | |
|         prop = "=? [F \"one\"]" | |
|         forms = stormpy.parse_formulas("P" + prop) | |
|         formulas.append(forms[0]) | |
|         forms = stormpy.parse_formulas("R" + prop) | |
|         formulas.append(forms[0]) | |
|         assert len(formulas) == 2 | |
|         assert str(formulas[0]) == "P" + prop | |
|         assert str(formulas[1]) == "R[exp]" + prop | |
| 
 | |
|     def test_bounds(self): | |
|         prop = "P=? [F \"one\"]" | |
|         formula = stormpy.parse_formulas(prop)[0] | |
|         assert not formula.has_bound() | |
|         prop = "P<0.4 [F \"one\"]" | |
|         formula = stormpy.parse_formulas(prop)[0] | |
|         assert formula.has_bound() | |
|         assert formula.threshold == 0.4 | |
|         assert formula.comparison_type == logic.ComparisonType.LESS | |
| 
 | |
|     def test_set_bounds(self): | |
|         prop = "P<0.4 [F \"one\"]" | |
|         formula = stormpy.parse_formulas(prop)[0] | |
|         formula.threshold = 0.2 | |
|         formula.comparison_type = logic.ComparisonType.GEQ | |
|         assert formula.threshold == 0.2 | |
|         assert formula.comparison_type == logic.ComparisonType.GEQ | |
|         assert str(formula) == "P>=0.2 [F \"one\"]"
 |