Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentProcessTest.cs =================================================================== diff -u -r40cea250dc8bceda2770ba103d1b9e1ebe1c267c -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentProcessTest.cs (.../SerializableAssessmentProcessTest.cs) (revision 40cea250dc8bceda2770ba103d1b9e1ebe1c267c) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentProcessTest.cs (.../SerializableAssessmentProcessTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -43,6 +43,8 @@ Assert.Zero(assessmentProcess.StartYear); Assert.Zero(assessmentProcess.EndYear); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableAssessmentProcess), "Beoordelingsproces"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableAssessmentProcess.Id), "BeoordelingsprocesID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentSectionTest.cs =================================================================== diff -u -r40cea250dc8bceda2770ba103d1b9e1ebe1c267c -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentSectionTest.cs (.../SerializableAssessmentSectionTest.cs) (revision 40cea250dc8bceda2770ba103d1b9e1ebe1c267c) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableAssessmentSectionTest.cs (.../SerializableAssessmentSectionTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -45,6 +45,8 @@ Assert.IsNull(assessmentSection.SurfaceLineGeometry); Assert.IsNull(assessmentSection.SurfaceLineLength); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableAssessmentSection), "Waterkeringstelsel"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableAssessmentSection.Id), "id", "http://www.opengis.net/gml/3.2"); Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableCombinedFailureMechanismSectionAssemblyTest.cs =================================================================== diff -u -r2a28064a44daa277c25e597f4b3eea1edd52e37c -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableCombinedFailureMechanismSectionAssemblyTest.cs (.../SerializableCombinedFailureMechanismSectionAssemblyTest.cs) (revision 2a28064a44daa277c25e597f4b3eea1edd52e37c) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableCombinedFailureMechanismSectionAssemblyTest.cs (.../SerializableCombinedFailureMechanismSectionAssemblyTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -45,6 +45,8 @@ Assert.IsNull(combinedSectionAssembly.CombinedSectionResult); Assert.IsNull(combinedSectionAssembly.FailureMechanismResults); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableCombinedFailureMechanismSectionAssembly), "GecombineerdToetsoordeel"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableCombinedFailureMechanismSectionAssembly.Id), "GecombineerdToetsoordeelID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs =================================================================== diff -u -r2a28064a44daa277c25e597f4b3eea1edd52e37c -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs (.../SerializableFailureMechanismSectionAssemblyTest.cs) (revision 2a28064a44daa277c25e597f4b3eea1edd52e37c) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionAssemblyTest.cs (.../SerializableFailureMechanismSectionAssemblyTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -47,6 +47,8 @@ Assert.IsNull(sectionAssembly.CombinedSectionResult); Assert.IsNull(sectionAssembly.SectionResults); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableFailureMechanismSectionAssembly), "Toets"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableFailureMechanismSectionAssembly.Id), "ToetsID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionCollectionTest.cs =================================================================== diff -u --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionCollectionTest.cs (revision 0) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionCollectionTest.cs (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -0,0 +1,150 @@ +// 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; +using Core.Common.TestUtil; +using NUnit.Framework; +using Ringtoets.AssemblyTool.IO.Model; +using Ringtoets.AssemblyTool.IO.Model.DataTypes; +using Ringtoets.AssemblyTool.IO.Model.Enums; +using Ringtoets.AssemblyTool.IO.TestUtil; + +namespace Ringtoets.AssemblyTool.IO.Test.Model +{ + [TestFixture] + public class SerializableFailureMechanismSectionCollectionTest + { + [Test] + public void DefaultConstructor_ReturnsDefaultValues() + { + // Call + var sections = new SerializableFailureMechanismSectionCollection(); + + // Assert + Assert.IsInstanceOf(sections); + Assert.IsNull(sections.Id); + Assert.IsNull(sections.FailureMechanismId); + Assert.IsNull(sections.TotalAssemblyResultId); + + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableFailureMechanismSectionCollection), "Vakindeling"); + + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( + nameof(SerializableFailureMechanismSectionCollection.Id), "VakindelingID"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( + nameof(SerializableFailureMechanismSectionCollection.FailureMechanismId), "ToetsspoorIDRef"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( + nameof(SerializableFailureMechanismSectionCollection.TotalAssemblyResultId), "VeiligheidsoordeelIDRef"); + } + + [Test] + public void ConstructorWithFailureMechanism_IdNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSectionCollection(null, + new SerializableFailureMechanism()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("id", exception.ParamName); + } + + [Test] + public void ConstructorWithFailureMechanism_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSectionCollection("id", + (SerializableFailureMechanism) null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("failureMechanism", exception.ParamName); + } + + [Test] + public void ConstructorWithFailureMechanism_WithValidData_ReturnsExpectedValues() + { + // Setup + const string id = "section id"; + + var random = new Random(39); + var failureMechanism = new SerializableFailureMechanism("fm id", + new SerializableTotalAssemblyResult(), + random.NextEnumValue(), + random.NextEnumValue(), + new SerializableFailureMechanismAssemblyResult()); + + // Call + var sections = new SerializableFailureMechanismSectionCollection(id, + failureMechanism); + + // Assert + Assert.AreEqual(id, sections.Id); + Assert.AreEqual(failureMechanism.Id, sections.FailureMechanismId); + Assert.IsNull(sections.TotalAssemblyResultId); + } + + [Test] + public void ConstructorWithTotalAssemblyResult_IdNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSectionCollection(null, + new SerializableTotalAssemblyResult()); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("id", exception.ParamName); + } + + [Test] + public void ConstructorWithTotalAssemblyResult_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => new SerializableFailureMechanismSectionCollection("id", + (SerializableTotalAssemblyResult) null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("totalAssemblyResult", exception.ParamName); + } + + [Test] + public void ConstructorWithTotalAssemblyResult_WithValidData_ReturnsExpectedValues() + { + // Setup + const string id = "section id"; + + var totalAssemblyResult = new SerializableTotalAssemblyResult("result id", + new SerializableAssessmentProcess(), + new SerializableFailureMechanismAssemblyResult(), + new SerializableFailureMechanismAssemblyResult(), + new SerializableAssessmentSectionAssemblyResult()); + + // Call + var sections = new SerializableFailureMechanismSectionCollection(id, + totalAssemblyResult); + + // Assert + Assert.AreEqual(id, sections.Id); + Assert.AreEqual(totalAssemblyResult.Id, sections.TotalAssemblyResultId); + Assert.IsNull(sections.FailureMechanismId); + } + } +} \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs =================================================================== diff -u -r2a28064a44daa277c25e597f4b3eea1edd52e37c -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs (.../SerializableFailureMechanismSectionTest.cs) (revision 2a28064a44daa277c25e597f4b3eea1edd52e37c) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs (.../SerializableFailureMechanismSectionTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -49,6 +49,8 @@ Assert.IsNull(section.Geometry); Assert.AreEqual("TOETSSSTE", section.FailureMechanismSectionType); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableFailureMechanismSection), "Waterkeringsectie"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableFailureMechanismSection.Id), "id", "http://www.opengis.net/gml/3.2"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Fisheye: Tag e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 refers to a dead (removed) revision in file `Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionsTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs =================================================================== diff -u -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs (.../SerializableFailureMechanismTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismTest.cs (.../SerializableFailureMechanismTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -47,6 +47,8 @@ Assert.AreEqual((SerializableAssemblyGroup) 0, failureMechanism.AssemblyGroup); Assert.AreEqual((SerializableFailureMechanismType) 0, failureMechanism.FailureMechanismType); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableFailureMechanism), "Toetsspoor"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableFailureMechanism.Id), "ToetsspoorID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs =================================================================== diff -u -r7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs (.../SerializableTotalAssemblyResultTest.cs) (revision 7e15e5a8f543e9951e8a4ce5706dc32e073b1cdf) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableTotalAssemblyResultTest.cs (.../SerializableTotalAssemblyResultTest.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -43,6 +43,8 @@ Assert.IsNull(totalAssemblyResult.AssemblyResultWithProbability); Assert.IsNull(totalAssemblyResult.AssemblyResultWithoutProbability); + SerializableAttributeTestHelper.AssertXmlTypeAttribute(typeof(SerializableTotalAssemblyResult), "Veiligheidsoordeel"); + SerializableAttributeTestHelper.AssertXmlAttributeAttribute( nameof(SerializableTotalAssemblyResult.Id), "VeiligheidsoordeelID"); SerializableAttributeTestHelper.AssertXmlAttributeAttribute( Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj =================================================================== diff -u -r68f0d91af22189c47881baa90e7b937c9725dfd6 -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj (.../Ringtoets.AssemblyTool.IO.Test.csproj) (revision 68f0d91af22189c47881baa90e7b937c9725dfd6) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Ringtoets.AssemblyTool.IO.Test.csproj (.../Ringtoets.AssemblyTool.IO.Test.csproj) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -32,7 +32,7 @@ - + Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs =================================================================== diff -u -r328e66989ee3811e7fa65ca79041c79e2c9f4581 -re17ab48b3abda85cd6d9cb33e6a9f507e70fdff3 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs (.../SerializableAttributeTestHelper.cs) (revision 328e66989ee3811e7fa65ca79041c79e2c9f4581) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.TestUtil/SerializableAttributeTestHelper.cs (.../SerializableAttributeTestHelper.cs) (revision e17ab48b3abda85cd6d9cb33e6a9f507e70fdff3) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Linq; using System.Xml.Serialization; using Core.Common.Util.Reflection; @@ -32,6 +33,19 @@ public static class SerializableAttributeTestHelper { /// + /// Asserts whether the has a with the correct values. + /// + /// The type to assert. + /// The expected XML type name. + /// Thrown when the + /// does not match with the actual attribute. + public static void AssertXmlTypeAttribute(Type type, string typeName) + { + var attribute = (XmlTypeAttribute) type.GetCustomAttributes(typeof(XmlTypeAttribute), false).Single(); + Assert.AreEqual(typeName, attribute.TypeName); + } + + /// /// Asserts whether the property in class /// has a with the correct values. ///