Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsStochasticSoilModelCollectionTest.cs =================================================================== diff -u -rda4a311b2ac60defe1a27a61c8d151f47268a941 -rbdd9821cff5b4f895ff9607d7137c4dbe2712191 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsStochasticSoilModelCollectionTest.cs (.../MacroStabilityInwardsStochasticSoilModelCollectionTest.cs) (revision da4a311b2ac60defe1a27a61c8d151f47268a941) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/SoilProfile/MacroStabilityInwardsStochasticSoilModelCollectionTest.cs (.../MacroStabilityInwardsStochasticSoilModelCollectionTest.cs) (revision bdd9821cff5b4f895ff9607d7137c4dbe2712191) @@ -23,10 +23,10 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; -using Core.Common.Base.Geometry; using NUnit.Framework; using Ringtoets.Common.Data.TestUtil; using Ringtoets.MacroStabilityInwards.Data.SoilProfile; +using Ringtoets.MacroStabilityInwards.Data.TestUtil; namespace Ringtoets.MacroStabilityInwards.Data.Test.SoilProfile { @@ -42,26 +42,26 @@ protected override IEnumerable UniqueElements() { - yield return new MacroStabilityInwardsStochasticSoilModel("Model A", GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel("Model B", GetValidGeometry()); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel("Model A"); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel("Model B"); } protected override IEnumerable SingleNonUniqueElements() { const string someName = "Soil model"; - yield return new MacroStabilityInwardsStochasticSoilModel(someName, GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel(someName, GetValidGeometry()); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someName); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someName); } protected override IEnumerable MultipleNonUniqueElements() { const string someName = "Soil model"; const string someOtherName = "Other soil model"; - yield return new MacroStabilityInwardsStochasticSoilModel(someName, GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel(someName, GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel(someOtherName, GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel(someOtherName, GetValidGeometry()); - yield return new MacroStabilityInwardsStochasticSoilModel(someOtherName, GetValidGeometry()); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someName); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someName); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someOtherName); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someOtherName); + yield return MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(someOtherName); } protected override void AssertSingleNonUniqueElements(ArgumentException exception, IEnumerable itemsToAdd) @@ -78,11 +78,5 @@ Assert.AreEqual("Stochastische ondergrondmodellen moeten een unieke naam hebben. " + $"Gevonden dubbele elementen: {someName}, {someOtherName}.", exception.Message); } - - private static IEnumerable GetValidGeometry() - { - var random = new Random(21); - yield return new Point2D(random.NextDouble(), random.NextDouble()); - } } } \ No newline at end of file Fisheye: Tag bdd9821cff5b4f895ff9607d7137c4dbe2712191 refers to a dead (removed) revision in file `Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsStochasticSoilModelFactoryTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsStochasticSoilModelTestFactoryTest.cs =================================================================== diff -u --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsStochasticSoilModelTestFactoryTest.cs (revision 0) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/MacroStabilityInwardsStochasticSoilModelTestFactoryTest.cs (revision bdd9821cff5b4f895ff9607d7137c4dbe2712191) @@ -0,0 +1,144 @@ +// 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 Core.Common.Base.Geometry; +using NUnit.Framework; +using Ringtoets.MacroStabilityInwards.Data.SoilProfile; +using Ringtoets.MacroStabilityInwards.Data.TestUtil.SoilProfile; + +namespace Ringtoets.MacroStabilityInwards.Data.TestUtil.Test +{ + [TestFixture] + public class MacroStabilityInwardsStochasticSoilModelTestFactoryTest + { + [Test] + public void CreateValidStochasticSoilModel_ParameterLessConstructor_ReturnsValidStochasticSoilModel() + { + // Call + MacroStabilityInwardsStochasticSoilModel model = MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(); + + // Assert + Assert.IsNotNull(model); + + Assert.AreEqual(typeof(MacroStabilityInwardsStochasticSoilModel), model.GetType()); + Assert.IsEmpty(model.Name); + Assert.AreEqual(2, model.StochasticSoilProfiles.Count); + CollectionAssert.AreEquivalent(new[] + { + 0.5, + 0.5 + }, model.StochasticSoilProfiles.Select(p => p.Probability)); + CollectionAssert.AllItemsAreNotNull(model.StochasticSoilProfiles.Select(p => p.SoilProfile)); + CollectionAssert.AreEqual(new[] + { + new Point2D(1, 1), + new Point2D(2, 2) + }, model.Geometry); + } + + [Test] + public void CreateValidStochasticSoilModel_WithNameParameter_ReturnsValidStochasticSoilModel() + { + // Setup + const string soilModelName = "soil model name"; + + // Call + MacroStabilityInwardsStochasticSoilModel model = + MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(soilModelName); + + // Assert + Assert.IsNotNull(model); + + Assert.AreEqual(typeof(MacroStabilityInwardsStochasticSoilModel), model.GetType()); + Assert.AreEqual(soilModelName, model.Name); + Assert.AreEqual(2, model.StochasticSoilProfiles.Count); + CollectionAssert.AreEquivalent(new[] + { + 0.5, + 0.5 + }, model.StochasticSoilProfiles.Select(p => p.Probability)); + CollectionAssert.AllItemsAreNotNull(model.StochasticSoilProfiles.Select(p => p.SoilProfile)); + CollectionAssert.AreEqual(new[] + { + new Point2D(1, 1), + new Point2D(2, 2) + }, model.Geometry); + } + + [Test] + public void CreateValidStochasticSoilModel_WithNameAndGeometryParameters_ReturnsValidStochasticSoilModel() + { + // Setup + const string soilModelName = "soil model name"; + var geometry = new[] + { + new Point2D(2, 2) + }; + + // Call + MacroStabilityInwardsStochasticSoilModel model = + MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(soilModelName, geometry); + + // Assert + Assert.IsNotNull(model); + + Assert.AreEqual(typeof(MacroStabilityInwardsStochasticSoilModel), model.GetType()); + Assert.AreEqual(soilModelName, model.Name); + Assert.AreEqual(2, model.StochasticSoilProfiles.Count); + CollectionAssert.AreEquivalent(new[] + { + 0.5, + 0.5 + }, model.StochasticSoilProfiles.Select(p => p.Probability)); + CollectionAssert.AllItemsAreNotNull(model.StochasticSoilProfiles.Select(p => p.SoilProfile)); + Assert.AreSame(geometry, model.Geometry); + } + + [Test] + public void CreateValidStochasticSoilModel_WithNameAndSoilProfiles_ReturnValidStochasticSoilModel() + { + // Setup + const string soilModelName = "soil model name"; + var stochasticSoilProfiles = new[] + { + new MacroStabilityInwardsStochasticSoilProfile(0.5, MacroStabilityInwardsSoilProfile1DTestFactory.CreateMacroStabilityInwardsSoilProfile1D()) + }; + + // Call + MacroStabilityInwardsStochasticSoilModel model = + MacroStabilityInwardsStochasticSoilModelTestFactory.CreateValidStochasticSoilModel(soilModelName, stochasticSoilProfiles); + + // Assert + Assert.IsNotNull(model); + + Assert.AreEqual(typeof(MacroStabilityInwardsStochasticSoilModel), model.GetType()); + Assert.AreEqual(soilModelName, model.Name); + CollectionAssert.AreEqual(stochasticSoilProfiles, model.StochasticSoilProfiles); + CollectionAssert.AllItemsAreNotNull(model.StochasticSoilProfiles.Select(p => p.SoilProfile)); + CollectionAssert.AreEqual(new[] + { + new Point2D(1, 1), + new Point2D(2, 2) + }, model.Geometry); + } + } +} \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test.csproj =================================================================== diff -u -r3c535420f957462c1d525a532dad033434bf2ab7 -rbdd9821cff5b4f895ff9607d7137c4dbe2712191 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test.csproj (.../Ringtoets.MacroStabilityInwards.Data.TestUtil.Test.csproj) (revision 3c535420f957462c1d525a532dad033434bf2ab7) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test/Ringtoets.MacroStabilityInwards.Data.TestUtil.Test.csproj (.../Ringtoets.MacroStabilityInwards.Data.TestUtil.Test.csproj) (revision bdd9821cff5b4f895ff9607d7137c4dbe2712191) @@ -51,7 +51,7 @@ - +