Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/Ringtoets.AssemblyTool.IO.TestUtil.csproj =================================================================== diff -u -r9db8cb56b754aa7098da5dfc4201d3d98d6eaf5d -rf98d0ea5ec2ccf5785d2f94f3df9ed44f5fb2a08 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/Ringtoets.AssemblyTool.IO.TestUtil.csproj (.../Ringtoets.AssemblyTool.IO.TestUtil.csproj) (revision 9db8cb56b754aa7098da5dfc4201d3d98d6eaf5d) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/Ringtoets.AssemblyTool.IO.TestUtil.csproj (.../Ringtoets.AssemblyTool.IO.TestUtil.csproj) (revision f98d0ea5ec2ccf5785d2f94f3df9ed44f5fb2a08) @@ -8,10 +8,18 @@ + Copying.licenseheader + + + + ..\..\..\..\packages\NUnit.3.8.1\lib\net40\nunit.framework.dll + + + \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs =================================================================== diff -u --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs (revision 0) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs (revision f98d0ea5ec2ccf5785d2f94f3df9ed44f5fb2a08) @@ -0,0 +1,62 @@ +// Copyright (C) Stichting Deltares 2017. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Linq; +using System.Xml.Serialization; +using NUnit.Framework; + +namespace Ringtoets.AssemblyTool.IO.TestUtil +{ + /// + /// Test helper for asserting serialization attributes on properties and types. + /// + public static class SerializableAttributeTestHelper + { + /// + /// Asserts whether the property in class + /// has a with the correct values. + /// + /// The class the is in. + /// The name of the property to assert. + /// The expected XML element name. + /// The expected XML namespace url. + /// Thrown when: + /// + /// the could not be found, or multiple attributes are defined; + /// the or do not match + /// with the actual attribute. + /// + /// + public static void AssertXmlElementAttribute(string propertyName, string elementName, string namespaceUrl = null) + { + XmlElementAttribute attribute = GetPropertyAttribute(propertyName); + Assert.AreEqual(elementName, attribute.ElementName); + Assert.AreEqual(namespaceUrl, attribute.Namespace); + } + + private static TAttribute GetPropertyAttribute(string propertyName) + { + var attribute = (TAttribute) typeof(TObject).GetProperty(propertyName)?.GetCustomAttributes(typeof(TAttribute), false).SingleOrDefault(); + Assert.IsNotNull(attribute); + return attribute; + } + } +} \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/packages.config =================================================================== diff -u --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/packages.config (revision 0) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/packages.config (revision f98d0ea5ec2ccf5785d2f94f3df9ed44f5fb2a08) @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file