|  |  | @ -158,6 +158,25 @@ TEST(PrismParser, POMDPInputTest) { | 
			
		
	
		
			
				
					|  |  |  |     EXPECT_NO_THROW(result = storm::parser::PrismParser::parseFromString(testInput2, "testfile")); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | TEST(PrismParser, NAryPredicates) { | 
			
		
	
		
			
				
					|  |  |  |     std::string testInput = | 
			
		
	
		
			
				
					|  |  |  |             R"(dtmc | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     module example | 
			
		
	
		
			
				
					|  |  |  |     s : [0..4] init 0; | 
			
		
	
		
			
				
					|  |  |  |     i : bool init true; | 
			
		
	
		
			
				
					|  |  |  |     [] s=0 -> 0.5: (s'=1) & (i'=false) + 0.5: (s'=2) & (i'=false); | 
			
		
	
		
			
				
					|  |  |  |     [] s=1 | s=2 -> 1: (s'=3) & (i'=true); | 
			
		
	
		
			
				
					|  |  |  |     [r] s=1 -> 1: (s'=4) & (i'=true); | 
			
		
	
		
			
				
					|  |  |  |     [r] s=2 -> 1: (s'=3) & (i'=true); | 
			
		
	
		
			
				
					|  |  |  |     endmodule | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     label "test" = atMostOneOf(s=0, s=3, s=4); | 
			
		
	
		
			
				
					|  |  |  |     label "test2" = exactlyOneOf(s=0, i, !i & s=3); | 
			
		
	
		
			
				
					|  |  |  |     )"; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     EXPECT_NO_THROW(result = storm::parser::PrismParser::parseFromString(testInput2, "testfile")); | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | TEST(PrismParser, IllegalInputTest) { | 
			
		
	
		
			
				
					|  |  |  |     std::string testInput = | 
			
		
	
	
		
			
				
					|  |  | 
 |