Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs =================================================================== diff -u -r5c59e60cae7bc68b321c0ee187a7d4dd9dd753b2 -r48a70fa6c4d7f5a73e2b2d10fe074f2ec7321a82 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs (.../SerializableFailureMechanismSectionTest.cs) (revision 5c59e60cae7bc68b321c0ee187a7d4dd9dd753b2) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.IO.Test/Model/SerializableFailureMechanismSectionTest.cs (.../SerializableFailureMechanismSectionTest.cs) (revision 48a70fa6c4d7f5a73e2b2d10fe074f2ec7321a82) @@ -22,8 +22,10 @@ using System; using System.Linq; using Core.Common.Base.Geometry; +using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.AssemblyTool.IO.Model; +using Ringtoets.AssemblyTool.IO.Model.Enums; using Ringtoets.AssemblyTool.IO.Model.Helpers; using Ringtoets.AssemblyTool.IO.TestUtil; @@ -62,6 +64,8 @@ nameof(SerializableFailureMechanismSection.Length), "lengte"); SerializableAttributeTestHelper.AssertXmlElementAttribute( nameof(SerializableFailureMechanismSection.FailureMechanismSectionType), "typeWaterkeringsectie"); + SerializableAttributeTestHelper.AssertXmlElementAttribute( + nameof(SerializableFailureMechanismSection.AssemblyMethod), "assemblagemethode"); } [Test] @@ -128,6 +132,7 @@ var sections = new SerializableFailureMechanismSections("sections id", new SerializableFailureMechanism()); double startDistance = random.NextDouble(); double endDistance = random.NextDouble(); + var assemblyMethod = random.NextEnumValue(); var geometry = new[] { new Point2D(random.NextDouble(), random.NextDouble()), @@ -139,7 +144,8 @@ sections, startDistance, endDistance, - geometry); + geometry, + assemblyMethod); // Assert Assert.AreEqual(id, section.Id); @@ -152,6 +158,31 @@ Assert.AreEqual("m", section.Length.UnitOfMeasure); Assert.AreEqual(Math2D.Length(geometry), section.Length.Value); Assert.AreEqual("TOETSSSTE", section.FailureMechanismSectionType); + Assert.AreEqual(assemblyMethod, section.AssemblyMethod); } + + [Test] + [TestCase(SerializableAssemblyMethod.WBI0A1, true)] + [TestCase(null, false)] + public void ShouldSerializeAssemblyMethod_WithAssemblyMethodValues_ReturnsExpectedValue(SerializableAssemblyMethod? assemblyMethod, bool expectedShouldSerialize) + { + // Setup + var random = new Random(39); + var section = new SerializableFailureMechanismSection("id", + new SerializableFailureMechanismSections(), + random.NextDouble(), + random.NextDouble(), + new[] + { + new Point2D(random.NextDouble(), random.NextDouble()) + }, + assemblyMethod); + + // Call + bool shouldSerialize = section.ShouldSerializeAssemblyMethod(); + + // Assert + Assert.AreEqual(expectedShouldSerialize, shouldSerialize); + } } } \ No newline at end of file