@ -32,87 +32,87 @@ TEST(NondeterministicSparseTransitionParserTest, BasicTransitionsParsing) {
// Test the row mapping, i.e. at which row which state starts.
ASSERT_EQ ( 6 , result . getRowGroupCount ( ) ) ;
ASSERT_EQ ( 7 , result . getRowGroupIndices ( ) . size ( ) ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 0 ] , 0 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 1 ] , 4 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 2 ] , 5 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 3 ] , 7 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 4 ] , 8 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 5 ] , 9 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 6 ] , 11 ) ;
ASSERT_EQ ( 0 , result . getRowGroupIndices ( ) [ 0 ] ) ;
ASSERT_EQ ( 4 , result . getRowGroupIndices ( ) [ 1 ] ) ;
ASSERT_EQ ( 5 , result . getRowGroupIndices ( ) [ 2 ] ) ;
ASSERT_EQ ( 7 , result . getRowGroupIndices ( ) [ 3 ] ) ;
ASSERT_EQ ( 8 , result . getRowGroupIndices ( ) [ 4 ] ) ;
ASSERT_EQ ( 9 , result . getRowGroupIndices ( ) [ 5 ] ) ;
ASSERT_EQ ( 11 , result . getRowGroupIndices ( ) [ 6 ] ) ;
// Test the transition matrix.
ASSERT_EQ ( result . getColumnCount ( ) , 6 ) ;
ASSERT_EQ ( result . getRowCount ( ) , 11 ) ;
ASSERT_EQ ( result . getEntryCount ( ) , 22 ) ;
ASSERT_EQ ( 6 , result . getColumnCount ( ) ) ;
ASSERT_EQ ( 11 , result . getRowCount ( ) ) ;
ASSERT_EQ ( 22 , result . getEntryCount ( ) ) ;
// Test every entry of the matrix.
storm : : storage : : SparseMatrix < double > : : const_iterator cIter = result . begin ( 0 ) ;
ASSERT_EQ ( cIter - > first , 0 ) ;
ASSERT_EQ ( cIter - > second , 0.9 ) ;
ASSERT_EQ ( 0 , cIter - > first ) ;
ASSERT_EQ ( 0.9 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.1 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 3 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 3 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 0 ) ;
ASSERT_EQ ( cIter - > second , 0.1 ) ;
ASSERT_EQ ( 0 , cIter - > first ) ;
ASSERT_EQ ( 0.1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.9 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.9 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 0.5 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 0.5 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 3 ) ;
ASSERT_EQ ( cIter - > second , 0.5 ) ;
ASSERT_EQ ( 3 , cIter - > first ) ;
ASSERT_EQ ( 0.5 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 0.001 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 0.001 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 3 ) ;
ASSERT_EQ ( cIter - > second , 0.999 ) ;
ASSERT_EQ ( 3 , cIter - > first ) ;
ASSERT_EQ ( 0.999 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.7 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.7 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.3 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.3 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 0.6 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 0.6 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
}
TEST ( NondeterministicSparseTransitionParserTest , BasicTransitionsRewardsParsing ) {
@ -121,63 +121,63 @@ TEST(NondeterministicSparseTransitionParserTest, BasicTransitionsRewardsParsing)
storm : : storage : : SparseMatrix < double > result ( storm : : parser : : NondeterministicSparseTransitionParser : : parseNondeterministicTransitionRewards ( STORM_CPP_TESTS_BASE_PATH " /functional/parser/rew_files/mdp_general.trans.rew " , modelInformation ) ) ;
// Test the transition matrix.
ASSERT_EQ ( result . getColumnCount ( ) , 6 ) ;
ASSERT_EQ ( result . getRowCount ( ) , 11 ) ;
ASSERT_EQ ( result . getEntryCount ( ) , 17 ) ;
ASSERT_EQ ( 6 , result . getColumnCount ( ) ) ;
ASSERT_EQ ( 11 , result . getRowCount ( ) ) ;
ASSERT_EQ ( 17 , result . getEntryCount ( ) ) ;
// Test every entry of the matrix.
storm : : storage : : SparseMatrix < double > : : const_iterator cIter = result . begin ( 0 ) ;
ASSERT_EQ ( cIter - > first , 0 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 0 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 30 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 30 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 15.2 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 15.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 75 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 75 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 2.45 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 2.45 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 0 ) ;
ASSERT_EQ ( cIter - > second , 0.114 ) ;
ASSERT_EQ ( 0 , cIter - > first ) ;
ASSERT_EQ ( 0.114 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 90 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 90 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 55 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 55 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 3 ) ;
ASSERT_EQ ( cIter - > second , 87 ) ;
ASSERT_EQ ( 3 , cIter - > first ) ;
ASSERT_EQ ( 87 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 2 ) ;
ASSERT_EQ ( cIter - > second , 13 ) ;
ASSERT_EQ ( 2 , cIter - > first ) ;
ASSERT_EQ ( 13 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 3 ) ;
ASSERT_EQ ( cIter - > second , 999 ) ;
ASSERT_EQ ( 3 , cIter - > first ) ;
ASSERT_EQ ( 999 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.7 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.7 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.3 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.3 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.1 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 6 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 6 , cIter - > second ) ;
}
TEST ( NondeterministicSparseTransitionParserTest , Whitespaces ) {
@ -213,37 +213,37 @@ TEST(NondeterministicSparseTransitionParserTest, FixDeadlocks) {
// Parse a transitions file with the fixDeadlocks Flag set and test if it works.
storm : : storage : : SparseMatrix < double > result ( storm : : parser : : NondeterministicSparseTransitionParser : : parseNondeterministicTransitions ( STORM_CPP_TESTS_BASE_PATH " /functional/parser/tra_files/mdp_deadlock.tra " ) ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) . size ( ) , 8 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 5 ] , 9 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 6 ] , 10 ) ;
ASSERT_EQ ( result . getRowGroupIndices ( ) [ 7 ] , 12 ) ;
ASSERT_EQ ( 8 , result . getRowGroupIndices ( ) . size ( ) ) ;
ASSERT_EQ ( 9 , result . getRowGroupIndices ( ) [ 5 ] ) ;
ASSERT_EQ ( 10 , result . getRowGroupIndices ( ) [ 6 ] ) ;
ASSERT_EQ ( 12 , result . getRowGroupIndices ( ) [ 7 ] ) ;
ASSERT_EQ ( result . getColumnCount ( ) , 7 ) ;
ASSERT_EQ ( result . getRowCount ( ) , 12 ) ;
ASSERT_EQ ( result . getEntryCount ( ) , 23 ) ;
ASSERT_EQ ( 7 , result . getColumnCount ( ) ) ;
ASSERT_EQ ( 12 , result . getRowCount ( ) ) ;
ASSERT_EQ ( 23 , result . getEntryCount ( ) ) ;
storm : : storage : : SparseMatrix < double > : : const_iterator cIter = result . begin ( 8 ) ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.7 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.7 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.3 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.3 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 1 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 1 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 4 ) ;
ASSERT_EQ ( cIter - > second , 0.2 ) ;
ASSERT_EQ ( 4 , cIter - > first ) ;
ASSERT_EQ ( 0.2 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 0.6 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 0.6 , cIter - > second ) ;
cIter + + ;
ASSERT_EQ ( cIter - > first , 5 ) ;
ASSERT_EQ ( cIter - > second , 1 ) ;
ASSERT_EQ ( 5 , cIter - > first ) ;
ASSERT_EQ ( 1 , cIter - > second ) ;
}