Throw exceptions rather than return default 0

This commit is contained in:
bgbsww
2024-07-19 09:09:59 -04:00
parent 63a68b3c1c
commit 178c4ec477

View File

@@ -310,17 +310,13 @@ TEST_F(ReaderTest, validDefaults)
float value8 = Reader()->getAttributeAsFloat("missing", "1.234");
// Assert
EXPECT_THROW({ int value1 = Reader()->getAttributeAsInteger("missing"); },
Base::XMLBaseException);
EXPECT_THROW({ Reader()->getAttributeAsInteger("missing"); }, Base::XMLBaseException);
EXPECT_EQ(value2, "expected value");
EXPECT_THROW({ int value3 = Reader()->getAttributeAsInteger("missing"); },
Base::XMLBaseException);
EXPECT_THROW({ Reader()->getAttributeAsInteger("missing"); }, Base::XMLBaseException);
EXPECT_EQ(value4, -123);
EXPECT_THROW({ int value5 = Reader()->getAttributeAsUnsigned("missing"); },
Base::XMLBaseException);
EXPECT_THROW({ Reader()->getAttributeAsUnsigned("missing"); }, Base::XMLBaseException);
EXPECT_EQ(value6, 123);
EXPECT_THROW({ int value7 = Reader()->getAttributeAsFloat("missing"); },
Base::XMLBaseException);
EXPECT_THROW({ Reader()->getAttributeAsFloat("missing"); }, Base::XMLBaseException);
EXPECT_NEAR(value8, 1.234, 0.001);
}
@@ -335,10 +331,10 @@ TEST_F(ReaderTest, invalidDefaults)
givenDataAsXMLStream(xmlBody);
// Act / Assert
EXPECT_THROW({ int value4 = Reader()->getAttributeAsInteger("missing", "Not an Integer"); },
EXPECT_THROW({ Reader()->getAttributeAsInteger("missing", "Not an Integer"); },
std::invalid_argument);
EXPECT_THROW({ int value6 = Reader()->getAttributeAsInteger("missing", "Not an Unsigned"); },
EXPECT_THROW({ Reader()->getAttributeAsInteger("missing", "Not an Unsigned"); },
std::invalid_argument);
EXPECT_THROW({ int value8 = Reader()->getAttributeAsInteger("missing", "Not a Float"); },
EXPECT_THROW({ Reader()->getAttributeAsInteger("missing", "Not a Float"); },
std::invalid_argument);
}