Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ConfigurationReaderHelperTest.cs =================================================================== diff -u -r78e404373f030f9fef45733c2f6c560d6ea58b21 -rdc37877b917879d9c7b63ff1fb4552bff4943c66 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ConfigurationReaderHelperTest.cs (.../ConfigurationReaderHelperTest.cs) (revision 78e404373f030f9fef45733c2f6c560d6ea58b21) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ConfigurationReaderHelperTest.cs (.../ConfigurationReaderHelperTest.cs) (revision dc37877b917879d9c7b63ff1fb4552bff4943c66) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using System.Collections.Generic; using System.Xml.Linq; using NUnit.Framework; using Ringtoets.Common.IO.Readers; @@ -30,105 +31,161 @@ public class ConfigurationReaderHelperTest { [Test] - public void GetDoubleValueFromChildElement_ParentElementNull_ThrowArgumentNullException() + public void GetDoubleValueFromDescendantElement_ParentElementNull_ThrowArgumentNullException() { // Call - TestDelegate test = () => ConfigurationReaderHelper.GetDoubleValueFromChildElement(null, ""); + TestDelegate test = () => ConfigurationReaderHelper.GetDoubleValueFromDescendantElement(null, ""); // Assert var exception = Assert.Throws(test); Assert.AreEqual("parentElement", exception.ParamName); } [Test] - public void GetDoubleValueFromChildElement_ChildElementNameNull_ThrowArgumentNullException() + public void GetDoubleValueFromDescendantElement_DescendantElementNameNull_ThrowArgumentNullException() { // Call - TestDelegate test = () => ConfigurationReaderHelper.GetDoubleValueFromChildElement(new XElement("Root"), null); + TestDelegate test = () => ConfigurationReaderHelper.GetDoubleValueFromDescendantElement(new XElement("Root"), null); // Assert var exception = Assert.Throws(test); - Assert.AreEqual("childElementName", exception.ParamName); + Assert.AreEqual("descendantElementName", exception.ParamName); } [Test] - public void GetDoubleValueFromChildElement_ValidChildElement_ReturnValue() + public void GetDoubleValueFromDescendantElement_ValidDescendantElement_ReturnValue() { // Setup - const string childElementName = "number"; - const double childElementValue = 3; + const string descendantElementName = "number"; + const double descendantElementValue = 3; - var element = new XElement("Root", new XElement(childElementName, childElementValue)); + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); // Call - double? readValue = ConfigurationReaderHelper.GetDoubleValueFromChildElement(element, childElementName); + double? readValue = ConfigurationReaderHelper.GetDoubleValueFromDescendantElement(element, descendantElementName); // Assert - Assert.AreEqual(childElementValue, readValue.Value); + Assert.AreEqual(descendantElementValue, readValue.Value); } [Test] - public void GetDoubleValueFromChildElement_InvalidChildElement_ReturnNull() + public void GetDoubleValueFromDescendantElement_InvalidDescendantElement_ReturnNull() { // Setup var element = new XElement("Root", new XElement("number", (double) 3)); // Call - double? readValue = ConfigurationReaderHelper.GetDoubleValueFromChildElement(element, "invalidName"); + double? readValue = ConfigurationReaderHelper.GetDoubleValueFromDescendantElement(element, "invalidName"); // Assert Assert.IsNull(readValue); } [Test] - public void GetStringValueFromChildElement_ParentElementNull_ThrowArgumentNullException() + public void GetStringValueFromDescendantElement_ParentElementNull_ThrowArgumentNullException() { // Call - TestDelegate test = () => ConfigurationReaderHelper.GetStringValueFromChildElement(null, ""); + TestDelegate test = () => ConfigurationReaderHelper.GetStringValueFromDescendantElement(null, ""); // Assert var exception = Assert.Throws(test); Assert.AreEqual("parentElement", exception.ParamName); } [Test] - public void GetStringValueFromChildElement_ChildElementNameNull_ThrowArgumentNullException() + public void GetStringValueFromDescendantElement_DescendantElementNameNull_ThrowArgumentNullException() { // Call - TestDelegate test = () => ConfigurationReaderHelper.GetStringValueFromChildElement(new XElement("Test"), null); + TestDelegate test = () => ConfigurationReaderHelper.GetStringValueFromDescendantElement(new XElement("Test"), null); // Assert var exception = Assert.Throws(test); - Assert.AreEqual("childElementName", exception.ParamName); + Assert.AreEqual("descendantElementName", exception.ParamName); } [Test] - public void GetStringValueFromChildElement_ValidChildElement_ReturnValue() + public void GetStringValueFromDescendantElement_ValidDescendantElement_ReturnValue() { // Setup - const string childElementName = "text"; - const string childElementValue = "valueText"; + const string descendantElementName = "text"; + const string descendantElementValue = "valueText"; - var element = new XElement("Root", new XElement(childElementName, childElementValue)); + var element = new XElement("Root", new XElement(descendantElementName, descendantElementValue)); // Call - string readValue = ConfigurationReaderHelper.GetStringValueFromChildElement(element, childElementName); + string readValue = ConfigurationReaderHelper.GetStringValueFromDescendantElement(element, descendantElementName); // Assert - Assert.AreEqual(childElementValue, readValue); + Assert.AreEqual(descendantElementValue, readValue); } [Test] - public void GetStringValueFromChildElement_InvalidChildElement_ReturnNull() + public void GetStringValueFromDescendantElement_InvalidDescendantElement_ReturnNull() { // Setup var element = new XElement("Root", new XElement("number", "valueText")); // Call - string readValue = ConfigurationReaderHelper.GetStringValueFromChildElement(element, "invalidName"); + string readValue = ConfigurationReaderHelper.GetStringValueFromDescendantElement(element, "invalidName"); // Assert Assert.IsNull(readValue); } + + [Test] + public void GetDescendantElement_ParentElementNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => ConfigurationReaderHelper.GetDescendantElement(null, ""); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("parentElement", exception.ParamName); + } + + [Test] + public void GetDescendantElement_DescendantElementNameNull_ThrowArgumentNullException() + { + // Call + TestDelegate test = () => ConfigurationReaderHelper.GetDescendantElement(new XElement("Test"), null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("descendantElementName", exception.ParamName); + } + + [Test] + [TestCaseSource(nameof(XElements))] + public void GetDescendantElement_ValidDescendantName_ReturnElement(XElement parentElement) + { + // Call + XElement element = ConfigurationReaderHelper.GetDescendantElement(parentElement, "descendant"); + + // Assert + Assert.IsNotNull(element); + Assert.AreEqual("descendant", element.Name.LocalName); + } + + [Test] + public void GetDescendantElement_InvalidDescendantName_ReturnNull() + { + // Setup + var parentElement = new XElement("Root", new XElement("Child", new XElement("descendant"))); + + // Call + XElement element = ConfigurationReaderHelper.GetDescendantElement(parentElement, "something_else"); + + // Assert + Assert.IsNull(element); + } + + private static IEnumerable XElements + { + get + { + yield return new TestCaseData(new XElement("Root", new XElement("descendant"))); + yield return new TestCaseData(new XElement("Root", new XElement("Child", new XElement("descendant")))); + } + } } } \ No newline at end of file