From 5d5f049e331332a805f117e34bb196ca43785863 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Mon, 12 Jan 2015 23:53:00 +0100 Subject: Improved error message --- src/core/common/VariantConverter.cpp | 4 +-- test/core/common/ArgumentTest.cpp | 57 ------------------------------------ 2 files changed, 2 insertions(+), 59 deletions(-) diff --git a/src/core/common/VariantConverter.cpp b/src/core/common/VariantConverter.cpp index 1c23c43..0f293f5 100644 --- a/src/core/common/VariantConverter.cpp +++ b/src/core/common/VariantConverter.cpp @@ -34,8 +34,8 @@ namespace ousia { static std::string msgUnexpectedType(const Variant &v, VariantType requestedType) { - return std::string("Cannot convert ") + v.getTypeName() + std::string(" ") + - VariantWriter::writeJsonToString(v, false) + std::string(" to ") + + return std::string("Cannot convert ") + v.getTypeName() + std::string(" (") + + VariantWriter::writeJsonToString(v, false) + std::string(") to ") + Variant::getTypeName(requestedType); } diff --git a/test/core/common/ArgumentTest.cpp b/test/core/common/ArgumentTest.cpp index bd88035..f3f8f2b 100644 --- a/test/core/common/ArgumentTest.cpp +++ b/test/core/common/ArgumentTest.cpp @@ -52,63 +52,6 @@ static const Rtti TestManaged2 = RttiBuilder("TestManaged2").parent(&TestManaged1); } -TEST(Argument, validateAny) -{ - Argument a = Argument::Any("a"); - - ASSERT_FALSE(a.hasDefault); - - { - Variant v{true}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isBool()); - ASSERT_TRUE(v.asBool()); - } - - { - Variant v{"test"}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isString()); - ASSERT_EQ("test", v.asString()); - } - - { - Variant v{{1, 2, 3, 4}}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isArray()); - ASSERT_EQ(Variant::arrayType({1, 2, 3, 4}), v.asArray()); - } -} - -TEST(Argument, validateAnyDefault) -{ - Argument a = Argument::Any("a", true); - - ASSERT_TRUE(a.hasDefault); - ASSERT_TRUE(a.defaultValue.asBool()); - - { - Variant v{true}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isBool()); - ASSERT_TRUE(v.asBool()); - } - - { - Variant v{"test"}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isString()); - ASSERT_EQ("test", v.asString()); - } - - { - Variant v{{1, 2, 3, 4}}; - ASSERT_TRUE(a.validate(v, logger)); - ASSERT_TRUE(v.isArray()); - ASSERT_EQ(Variant::arrayType({1, 2, 3, 4}), v.asArray()); - } -} - TEST(Argument, validateBool) { Argument a = Argument::Bool("a"); -- cgit v1.2.3