Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs =================================================================== diff -u -re786dd8b8c7f833c217fdcddd909a616d590fe15 -rd6ce754b71afd37c40ebcb84daca30edb566e57a --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs (.../XElementExtensionsTest.cs) (revision e786dd8b8c7f833c217fdcddd909a616d590fe15) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/XElementExtensionsTest.cs (.../XElementExtensionsTest.cs) (revision d6ce754b71afd37c40ebcb84daca30edb566e57a) @@ -72,15 +72,49 @@ } [Test] - public void GetDoubleValueFromDescendantElement_ValidDescendantElement_ReturnValue() + public void GetDoubleValueFromDescendantElement_DescendantElementInvalidFormat_ThrowFormatException() { // Setup const string descendantElementName = "number"; - const double descendantElementValue = 3; + const string descendantElementValue = "drie"; var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); // Call + TestDelegate test = () => element.GetDoubleValueFromDescendantElement(descendantElementName); + + // Assert + Assert.Throws(test); + } + + [Test] + public void GetDoubleValueFromDescendantElement_DescendantElementOverflows_ThrowOverflowException() + { + // Setup + const string descendantElementName = "number"; + string descendantElementValue = "1" + double.MaxValue; + + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); + + // Call + TestDelegate test = () => element.GetDoubleValueFromDescendantElement(descendantElementName); + + // Assert + Assert.Throws(test); + } + + [Test] + [TestCase(3)] + [TestCase(double.NaN)] + [TestCase(double.PositiveInfinity)] + [TestCase(double.NegativeInfinity)] + public void GetDoubleValueFromDescendantElement_ValidDescendantElement_ReturnValue(double descendantElementValue) + { + // Setup + const string descendantElementName = "number"; + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); + + // Call double? readValue = element.GetDoubleValueFromDescendantElement(descendantElementName); // Assert @@ -183,6 +217,22 @@ } [Test] + public void GetBoolValueFromDescendantElement_DescendantElementIncorrectFormat_ThrowFormatException() + { + // Setup + const string descendantElementName = "booleanValue"; + const string elementValue = "nope"; + + var element = new XElement("Root", new XElement(descendantElementName, elementValue)); + + // Call + TestDelegate test = () => element.GetBoolValueFromDescendantElement(descendantElementName); + + // Assert + Assert.Throws(test); + } + + [Test] [TestCase(true)] [TestCase(false)] public void GetBoolValueFromDescendantElement_ValidDescendantElement_ReturnValue(bool booleanValue)