Added some unit tests that I forgot earlier
authorJoris Mooij <joris.mooij@tuebingen.mpg.de>
Tue, 3 Aug 2010 13:23:19 +0000 (15:23 +0200)
committerJoris Mooij <joris.mooij@tuebingen.mpg.de>
Tue, 3 Aug 2010 13:23:19 +0000 (15:23 +0200)
tests/unit/factor_test.cpp
tests/unit/smallset_test.cpp

index 72e8d4e..89606eb 100644 (file)
@@ -890,4 +890,11 @@ BOOST_AUTO_TEST_CASE( RelatedFunctionsTest ) {
     BOOST_CHECK_EQUAL( x[1], (Real)0.0 );
     BOOST_CHECK_EQUAL( x[2], (Real)0.0 );
     BOOST_CHECK_THROW( createFactorDelta( v1, 4 ), Exception );
+
+    for( size_t i = 0; i < 12; i++ ) {
+        Factor xx = createFactorDelta( VarSet( v1, v2 ), i );
+        for( size_t j = 0; j < 12; j++ )
+            BOOST_CHECK_EQUAL( xx[j], (Real)(i == j) );
+    }
+    BOOST_CHECK_THROW( createFactorDelta( VarSet( v1, v2 ), 12 ), Exception );
 }
index e7bf3d3..444cdb5 100644 (file)
@@ -485,6 +485,32 @@ BOOST_AUTO_TEST_CASE( OperatorTest ) {
     y = x123; y.insert( 2 );   BOOST_CHECK_EQUAL( y, x123 );
     y = x123; y.insert( 3 );   BOOST_CHECK_EQUAL( y, x123 );
 
+    // check erase
+    y = x   ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x   ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x   ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x1  ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x1  ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x1   );
+    y = x1  ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x1   );
+    y = x2  ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x2   );
+    y = x2  ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x2  ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x2   );
+    y = x3  ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x3   );
+    y = x3  ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x3   );
+    y = x3  ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x    );
+    y = x12 ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x2   );
+    y = x12 ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x1   );
+    y = x12 ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x12  );
+    y = x13 ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x3   );
+    y = x13 ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x13  );
+    y = x13 ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x1   );
+    y = x23 ; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x23  );
+    y = x23 ; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x3   );
+    y = x23 ; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x2   );
+    y = x123; y.erase( 1 );    BOOST_CHECK_EQUAL( y, x23  );
+    y = x123; y.erase( 2 );    BOOST_CHECK_EQUAL( y, x13  );
+    y = x123; y.erase( 3 );    BOOST_CHECK_EQUAL( y, x12  );
+
     // check operator|=
     y = x   ; y |= x;    BOOST_CHECK_EQUAL( y, x    );
     y = x   ; y |= x1;   BOOST_CHECK_EQUAL( y, x1   );