diff --git a/tests/value.cpp b/tests/value.cpp index af321174f7909471ac0f328937c29f6e83db999b..2c8698620f65c90571cc5ab09c7e3105f7955965 100644 --- a/tests/value.cpp +++ b/tests/value.cpp @@ -19,6 +19,10 @@ BOOST_AUTO_TEST_CASE(value_none) { Value value1; Value value(value1); + + // Similar to NaN != NaN + BOOST_CHECK(!(value1 == value)); + { output_test_stream output; output << value1; @@ -33,6 +37,8 @@ BOOST_AUTO_TEST_CASE(value_bool) { Value value1(abool1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -166,6 +172,8 @@ BOOST_AUTO_TEST_CASE(value_unsigned_int) { Value value1(aint1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -186,6 +194,8 @@ BOOST_AUTO_TEST_CASE(value_int) { Value value1(aint1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -206,6 +216,8 @@ BOOST_AUTO_TEST_CASE(value_float) { Value value1(afloat1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -226,6 +238,8 @@ BOOST_AUTO_TEST_CASE(value_double) { Value value1(adouble1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -249,6 +263,8 @@ BOOST_AUTO_TEST_CASE(value_vector) { Value value1(avector1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -269,6 +285,8 @@ BOOST_AUTO_TEST_CASE(value_string) { Value value1(str1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -310,6 +328,8 @@ BOOST_AUTO_TEST_CASE(value_matrixXd) { Value value1(avector1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -335,6 +355,8 @@ BOOST_AUTO_TEST_CASE(value_matrix4d) { Value value1(avector1); Value value = value1; + BOOST_CHECK(value1 == value); + { output_test_stream output; output << value1; @@ -369,7 +391,28 @@ BOOST_AUTO_TEST_CASE(value_values) { BOOST_CHECK_EQUAL(vvalues.type(), Value::VALUES); - const Values& vs = vvalues.constValuesValue(); - BOOST_CHECK_EQUAL(vs.size(), values.size()); - BOOST_CHECK(vs == values); + { // Const ref + const Values& vs = vvalues.constValuesValue(); + BOOST_CHECK_EQUAL(vs.size(), values.size()); + BOOST_CHECK(vs == values); + } + { // Cast does not work. + //dg::command::EitherType eitherType (vvalues); + //Values vs = static_cast<Values>(eitherType); + //BOOST_CHECK_EQUAL(vs.size(), values.size()); + //BOOST_CHECK(vs == values); + } + { // Constructor + Value vvs (vvalues); + BOOST_CHECK(vvs == vvalues); + } + + { + output_test_stream output; + output << vvalues; + BOOST_CHECK(output.is_equal("Type=values, value=[ " + "Value(Type=string, value=value #1), " + "Value(Type=double, value=0.3), " + "]")); + } }