Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreator.cs (revision f6f64085b7704accbc3094848a69af658cd1662d)
@@ -0,0 +1,206 @@
+// 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 Ringtoets.AssemblyTool.IO.Model;
+using Ringtoets.AssemblyTool.IO.Model.DataTypes;
+using Ringtoets.AssemblyTool.IO.Model.Enums;
+using Ringtoets.Integration.IO.Assembly;
+using Ringtoets.Integration.IO.Helpers;
+using Ringtoets.Integration.IO.Properties;
+
+namespace Ringtoets.Integration.IO.Creators
+{
+ ///
+ /// Creator to create instance of
+ ///
+ public static class AggregatedSerializableFailureMechanismSectionAssemblyCreator
+ {
+ ///
+ /// Creates an instance of
+ /// based on its input parameters.
+ ///
+ /// The id generator to generate an id for .
+ /// The the result belongs to.
+ /// The the result belongs to.
+ /// The to create a
+ /// for.
+ /// A .
+ /// Thrown when any parameter is null.
+ public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator,
+ SerializableFailureMechanismSectionCollection serializableCollection,
+ SerializableFailureMechanism serializableFailureMechanism,
+ ExportableAggregatedFailureMechanismSectionAssemblyResult sectionResult)
+ {
+ if (idGenerator == null)
+ {
+ throw new ArgumentNullException(nameof(idGenerator));
+ }
+
+ if (serializableCollection == null)
+ {
+ throw new ArgumentNullException(nameof(serializableCollection));
+ }
+
+ if (serializableFailureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(serializableFailureMechanism));
+ }
+
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ return new SerializableFailureMechanismSectionAssembly(idGenerator.GetNewId(Resources.SerializableFailureMechanismSectionAssembly_IdPrefix),
+ serializableFailureMechanism,
+ SerializableFailureMechanismSectionCreator.Create(idGenerator,
+ serializableCollection,
+ sectionResult.FailureMechanismSection),
+ CreateAssemblySectionResults(sectionResult),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment,
+ sectionResult.CombinedAssembly));
+ }
+
+ ///
+ /// Creates an instance of
+ /// based on its input parameters.
+ ///
+ /// The id generator to generate an id for .
+ /// The the result belongs to.
+ /// The the result belongs to.
+ /// The to create a
+ /// for.
+ /// A .
+ /// Thrown when any parameter is null.
+ public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator,
+ SerializableFailureMechanismSectionCollection serializableCollection,
+ SerializableFailureMechanism serializableFailureMechanism,
+ ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability sectionResult)
+ {
+ if (idGenerator == null)
+ {
+ throw new ArgumentNullException(nameof(idGenerator));
+ }
+
+ if (serializableCollection == null)
+ {
+ throw new ArgumentNullException(nameof(serializableCollection));
+ }
+
+ if (serializableFailureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(serializableFailureMechanism));
+ }
+
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ return new SerializableFailureMechanismSectionAssembly(idGenerator.GetNewId(Resources.SerializableFailureMechanismSectionAssembly_IdPrefix),
+ serializableFailureMechanism,
+ SerializableFailureMechanismSectionCreator.Create(idGenerator,
+ serializableCollection,
+ sectionResult.FailureMechanismSection),
+ CreateAssemblySectionResults(sectionResult),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment,
+ sectionResult.CombinedAssembly));
+ }
+
+ ///
+ /// Creates an instance of
+ /// based on its input parameters.
+ ///
+ /// The id generator to generate an id for .
+ /// The the result belongs to.
+ /// The the result belongs to.
+ /// The to create a
+ /// for.
+ /// A .
+ /// Thrown when any parameter is null.
+ public static SerializableFailureMechanismSectionAssembly Create(UniqueIdentifierGenerator idGenerator,
+ SerializableFailureMechanismSectionCollection serializableCollection,
+ SerializableFailureMechanism serializableFailureMechanism,
+ ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly sectionResult)
+ {
+ if (idGenerator == null)
+ {
+ throw new ArgumentNullException(nameof(idGenerator));
+ }
+
+ if (serializableCollection == null)
+ {
+ throw new ArgumentNullException(nameof(serializableCollection));
+ }
+
+ if (serializableFailureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(serializableFailureMechanism));
+ }
+
+ if (sectionResult == null)
+ {
+ throw new ArgumentNullException(nameof(sectionResult));
+ }
+
+ return new SerializableFailureMechanismSectionAssembly(idGenerator.GetNewId(Resources.SerializableFailureMechanismSectionAssembly_IdPrefix),
+ serializableFailureMechanism,
+ SerializableFailureMechanismSectionCreator.Create(idGenerator,
+ serializableCollection,
+ sectionResult.FailureMechanismSection),
+ CreateAssemblySectionResults(sectionResult),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.CombinedAssessment,
+ sectionResult.CombinedAssembly));
+ }
+
+ private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults(ExportableAggregatedFailureMechanismSectionAssemblyResult sectionResult)
+ {
+ return new[]
+ {
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.SimpleAssessment, sectionResult.SimpleAssembly),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.DetailedAssessment, sectionResult.DetailedAssembly),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.TailorMadeAssessment, sectionResult.TailorMadeAssembly)
+ };
+ }
+
+ private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults(
+ ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability sectionResult)
+ {
+ return new[]
+ {
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.SimpleAssessment, sectionResult.SimpleAssembly),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.DetailedAssessment, sectionResult.DetailedAssembly),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.TailorMadeAssessment, sectionResult.TailorMadeAssembly)
+ };
+ }
+
+ private static SerializableFailureMechanismSectionAssemblyResult[] CreateAssemblySectionResults(
+ ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly sectionResult)
+ {
+ return new[]
+ {
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.SimpleAssessment, sectionResult.SimpleAssembly),
+ SerializableFailureMechanismSectionAssemblyResultCreator.Create(SerializableAssessmentType.TailorMadeAssessment, sectionResult.TailorMadeAssembly)
+ };
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag f6f64085b7704accbc3094848a69af658cd1662d refers to a dead (removed) revision in file `Ringtoets/Integration/src/Ringtoets.Integration.IO/Creators/SerializableFailureMechanismSectionAssemblyCreator.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj
===================================================================
diff -u -r31b55c89e9ef86da7fd3ae5b23de20479794b058 -rf6f64085b7704accbc3094848a69af658cd1662d
--- Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision 31b55c89e9ef86da7fd3ae5b23de20479794b058)
+++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Ringtoets.Integration.IO.csproj (.../Ringtoets.Integration.IO.csproj) (revision f6f64085b7704accbc3094848a69af658cd1662d)
@@ -46,7 +46,7 @@
-
+
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreatorTest.cs
===================================================================
diff -u
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreatorTest.cs (revision 0)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/AggregatedSerializableFailureMechanismSectionAssemblyCreatorTest.cs (revision f6f64085b7704accbc3094848a69af658cd1662d)
@@ -0,0 +1,443 @@
+// 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.Data;
+using Ringtoets.AssemblyTool.IO.Model;
+using Ringtoets.AssemblyTool.IO.Model.DataTypes;
+using Ringtoets.AssemblyTool.IO.Model.Enums;
+using Ringtoets.Integration.IO.Assembly;
+using Ringtoets.Integration.IO.Creators;
+using Ringtoets.Integration.IO.Helpers;
+using Ringtoets.Integration.IO.TestUtil;
+
+namespace Ringtoets.Integration.IO.Test.Creators
+{
+ [TestFixture]
+ public class AggregatedSerializableFailureMechanismSectionAssemblyCreatorTest
+ {
+ [Test]
+ public void CreateWithoutProbability_IdGeneratorNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(null,
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResult(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResult(10),
+ CreateSectionAssemblyResult(11),
+ CreateSectionAssemblyResult(12),
+ CreateSectionAssemblyResult(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("idGenerator", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutProbability_SerializableFailureMechanismSectionCollectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ null,
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResult(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResult(10),
+ CreateSectionAssemblyResult(11),
+ CreateSectionAssemblyResult(12),
+ CreateSectionAssemblyResult(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableCollection", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutProbability_SerializableFailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ null,
+ new ExportableAggregatedFailureMechanismSectionAssemblyResult(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResult(10),
+ CreateSectionAssemblyResult(11),
+ CreateSectionAssemblyResult(12),
+ CreateSectionAssemblyResult(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableFailureMechanism", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutProbability_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ (ExportableAggregatedFailureMechanismSectionAssemblyResult) null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutProbability_WithValidArguments_ReturnsSerializableFailureMechanismSectionAssembly()
+ {
+ // Setup
+ var idGenerator = new UniqueIdentifierGenerator();
+ var sectionResult = new ExportableAggregatedFailureMechanismSectionAssemblyResult(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResult(10),
+ CreateSectionAssemblyResult(11),
+ CreateSectionAssemblyResult(12),
+ CreateSectionAssemblyResult(13));
+
+ var random = new Random(21);
+ const string serializableFailureMechanismId = "FailureMechanismId";
+ var serializableFailureMechanism = new SerializableFailureMechanism(serializableFailureMechanismId,
+ new SerializableTotalAssemblyResult(),
+ random.NextEnumValue(),
+ random.NextEnumValue(),
+ new SerializableFailureMechanismAssemblyResult());
+
+ const string serializableSectionCollectionId = "CollectionId";
+ var serializableCollection = new SerializableFailureMechanismSectionCollection(serializableSectionCollectionId,
+ serializableFailureMechanism);
+
+ // Call
+ SerializableFailureMechanismSectionAssembly serializableSectionAssembly =
+ AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(idGenerator, serializableCollection, serializableFailureMechanism, sectionResult);
+
+ // Assert
+ Assert.AreEqual("T.0", serializableSectionAssembly.Id);
+ Assert.AreEqual(serializableFailureMechanism.Id, serializableSectionAssembly.FailureMechanismId);
+ Assert.AreEqual("Wks.1", serializableSectionAssembly.FailureMechanismSectionId);
+
+ SerializableFailureMechanismSectionAssemblyResult[] serializedSectionResults = serializableSectionAssembly.SectionResults;
+ Assert.AreEqual(3, serializedSectionResults.Length);
+ AssertAssemblyResult(sectionResult.SimpleAssembly,
+ SerializableAssessmentType.SimpleAssessment,
+ serializedSectionResults[0]);
+ AssertAssemblyResult(sectionResult.DetailedAssembly,
+ SerializableAssessmentType.DetailedAssessment,
+ serializedSectionResults[1]);
+ AssertAssemblyResult(sectionResult.TailorMadeAssembly,
+ SerializableAssessmentType.TailorMadeAssessment,
+ serializedSectionResults[2]);
+ AssertAssemblyResult(sectionResult.CombinedAssembly,
+ SerializableAssessmentType.CombinedAssessment,
+ serializableSectionAssembly.CombinedSectionResult);
+ }
+
+ [Test]
+ public void CreateWithProbability_IdGeneratorNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(null,
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12),
+ CreateSectionAssemblyResultWithProbability(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("idGenerator", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithProbability_SerializableFailureMechanismSectionCollectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ null,
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12),
+ CreateSectionAssemblyResultWithProbability(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableCollection", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithProbability_SerializableFailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ null,
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12),
+ CreateSectionAssemblyResultWithProbability(13)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableFailureMechanism", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithProbability_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ (ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability) null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithProbability_WithValidArguments_ReturnsSerializableFailureMechanismSectionAssembly()
+ {
+ // Setup
+ var idGenerator = new UniqueIdentifierGenerator();
+ var sectionResult = new ExportableAggregatedFailureMechanismSectionAssemblyResultWithProbability(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12),
+ CreateSectionAssemblyResultWithProbability(13));
+
+ var random = new Random(21);
+ const string serializableFailureMechanismId = "FailureMechanismId";
+ var serializableFailureMechanism = new SerializableFailureMechanism(serializableFailureMechanismId,
+ new SerializableTotalAssemblyResult(),
+ random.NextEnumValue(),
+ random.NextEnumValue(),
+ new SerializableFailureMechanismAssemblyResult());
+
+ const string serializableSectionCollectionId = "CollectionId";
+ var serializableCollection = new SerializableFailureMechanismSectionCollection(serializableSectionCollectionId,
+ serializableFailureMechanism);
+
+ // Call
+ SerializableFailureMechanismSectionAssembly serializableSectionAssembly =
+ AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(idGenerator, serializableCollection, serializableFailureMechanism, sectionResult);
+
+ // Assert
+ Assert.AreEqual("T.0", serializableSectionAssembly.Id);
+ Assert.AreEqual(serializableFailureMechanism.Id, serializableSectionAssembly.FailureMechanismId);
+ Assert.AreEqual("Wks.1", serializableSectionAssembly.FailureMechanismSectionId);
+
+ SerializableFailureMechanismSectionAssemblyResult[] serializedSectionResults = serializableSectionAssembly.SectionResults;
+ Assert.AreEqual(3, serializedSectionResults.Length);
+ AssertAssemblyResult(sectionResult.SimpleAssembly,
+ SerializableAssessmentType.SimpleAssessment,
+ serializedSectionResults[0]);
+ AssertAssemblyResult(sectionResult.DetailedAssembly,
+ SerializableAssessmentType.DetailedAssessment,
+ serializedSectionResults[1]);
+ AssertAssemblyResult(sectionResult.TailorMadeAssembly,
+ SerializableAssessmentType.TailorMadeAssessment,
+ serializedSectionResults[2]);
+ AssertAssemblyResult(sectionResult.CombinedAssembly,
+ SerializableAssessmentType.CombinedAssessment,
+ serializableSectionAssembly.CombinedSectionResult);
+ }
+
+ [Test]
+ public void CreateWithoutDetailedAssembly_IdGeneratorNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(null,
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("idGenerator", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutDetailedAssembly_SerializableFailureMechanismSectionCollectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ null,
+ new SerializableFailureMechanism(),
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableCollection", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutDetailedAssembly_SerializableFailureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ null,
+ new ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResultWithProbability(10),
+ CreateSectionAssemblyResultWithProbability(11),
+ CreateSectionAssemblyResultWithProbability(12)));
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("serializableFailureMechanism", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutDetailedAssembly_SectionResultNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(new UniqueIdentifierGenerator(),
+ new SerializableFailureMechanismSectionCollection(),
+ new SerializableFailureMechanism(),
+ (ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly) null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("sectionResult", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateWithoutDetailedAssembly_WithValidArguments_ReturnsSerializableFailureMechanismSectionAssembly()
+ {
+ // Setup
+ var idGenerator = new UniqueIdentifierGenerator();
+ var sectionResult = new ExportableAggregatedFailureMechanismSectionAssemblyResultWithoutDetailedAssembly(
+ ExportableFailureMechanismSectionTestFactory.CreateExportableFailureMechanismSection(),
+ CreateSectionAssemblyResult(10),
+ CreateSectionAssemblyResult(11),
+ CreateSectionAssemblyResult(12));
+
+ var random = new Random(21);
+ const string serializableFailureMechanismId = "FailureMechanismId";
+ var serializableFailureMechanism = new SerializableFailureMechanism(serializableFailureMechanismId,
+ new SerializableTotalAssemblyResult(),
+ random.NextEnumValue(),
+ random.NextEnumValue(),
+ new SerializableFailureMechanismAssemblyResult());
+
+ const string serializableSectionCollectionId = "CollectionId";
+ var serializableCollection = new SerializableFailureMechanismSectionCollection(serializableSectionCollectionId,
+ serializableFailureMechanism);
+
+ // Call
+ SerializableFailureMechanismSectionAssembly serializableSectionAssembly =
+ AggregatedSerializableFailureMechanismSectionAssemblyCreator.Create(idGenerator, serializableCollection, serializableFailureMechanism, sectionResult);
+
+ // Assert
+ Assert.AreEqual("T.0", serializableSectionAssembly.Id);
+ Assert.AreEqual(serializableFailureMechanism.Id, serializableSectionAssembly.FailureMechanismId);
+ Assert.AreEqual("Wks.1", serializableSectionAssembly.FailureMechanismSectionId);
+
+ SerializableFailureMechanismSectionAssemblyResult[] serializedSectionResults = serializableSectionAssembly.SectionResults;
+ Assert.AreEqual(2, serializedSectionResults.Length);
+ AssertAssemblyResult(sectionResult.SimpleAssembly,
+ SerializableAssessmentType.SimpleAssessment,
+ serializedSectionResults[0]);
+ AssertAssemblyResult(sectionResult.TailorMadeAssembly,
+ SerializableAssessmentType.TailorMadeAssessment,
+ serializedSectionResults[1]);
+ AssertAssemblyResult(sectionResult.CombinedAssembly,
+ SerializableAssessmentType.CombinedAssessment,
+ serializableSectionAssembly.CombinedSectionResult);
+ }
+
+ private static void AssertAssemblyResult(ExportableSectionAssemblyResult expectedResult,
+ SerializableAssessmentType expectedAssessmentType,
+ SerializableFailureMechanismSectionAssemblyResult actualResult)
+ {
+ Assert.AreEqual(SerializableFailureMechanismSectionCategoryGroupCreator.Create(expectedResult.AssemblyCategory),
+ actualResult.CategoryGroup);
+ Assert.AreEqual(SerializableAssemblyMethodCreator.Create(expectedResult.AssemblyMethod),
+ actualResult.AssemblyMethod);
+ Assert.AreEqual(expectedAssessmentType, actualResult.AssessmentType);
+ Assert.IsNull(actualResult.Probability);
+ }
+
+ private static void AssertAssemblyResult(ExportableSectionAssemblyResultWithProbability expectedResult,
+ SerializableAssessmentType expectedAssessmentType,
+ SerializableFailureMechanismSectionAssemblyResult actualResult)
+ {
+ Assert.AreEqual(SerializableFailureMechanismSectionCategoryGroupCreator.Create(expectedResult.AssemblyCategory),
+ actualResult.CategoryGroup);
+ Assert.AreEqual(SerializableAssemblyMethodCreator.Create(expectedResult.AssemblyMethod),
+ actualResult.AssemblyMethod);
+ Assert.AreEqual(expectedAssessmentType, actualResult.AssessmentType);
+ Assert.AreEqual(expectedResult.Probability, actualResult.Probability);
+ }
+
+ private static ExportableSectionAssemblyResult CreateSectionAssemblyResult(int seed)
+ {
+ var random = new Random(seed);
+ var assemblyCategory = random.NextEnumValue();
+ if (assemblyCategory == FailureMechanismSectionAssemblyCategoryGroup.None)
+ {
+ assemblyCategory = FailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ }
+
+ return new ExportableSectionAssemblyResult(random.NextEnumValue(),
+ assemblyCategory);
+ }
+
+ private static ExportableSectionAssemblyResultWithProbability CreateSectionAssemblyResultWithProbability(int seed)
+ {
+ var random = new Random(seed);
+ var assemblyCategory = random.NextEnumValue();
+ if (assemblyCategory == FailureMechanismSectionAssemblyCategoryGroup.None)
+ {
+ assemblyCategory = FailureMechanismSectionAssemblyCategoryGroup.IIIv;
+ }
+
+ return new ExportableSectionAssemblyResultWithProbability(random.NextEnumValue(),
+ assemblyCategory,
+ random.NextDouble());
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag f6f64085b7704accbc3094848a69af658cd1662d refers to a dead (removed) revision in file `Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Creators/SerializableFailureMechanismSectionAssemblyCreatorTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj
===================================================================
diff -u -r31b55c89e9ef86da7fd3ae5b23de20479794b058 -rf6f64085b7704accbc3094848a69af658cd1662d
--- Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision 31b55c89e9ef86da7fd3ae5b23de20479794b058)
+++ Ringtoets/Integration/test/Ringtoets.Integration.IO.Test/Ringtoets.Integration.IO.Test.csproj (.../Ringtoets.Integration.IO.Test.csproj) (revision f6f64085b7704accbc3094848a69af658cd1662d)
@@ -48,7 +48,7 @@
-
+