namespace Deltares.Dam.Tests { using System.Xml.Linq; using Deltares.Dam.Data; using Deltares.Dam.Data.Assemblers; using NUnit.Framework; [TestFixture] public class CalculationParametersAssemblerTest { private const string testFileName = @"TestData\SampleCalculationParameters.xml"; private const double Precision = 1e-8; private XDocument testDoc; private CalculationParametersAssembler assembler; #region Setup/Teardown [SetUp] public void TestSetup() { this.assembler = new CalculationParametersAssembler(); } #endregion [TestFixtureSetUp] public void TestFixtureSetup() { this.testDoc = XDocument.Load(testFileName); } [Test] public void CreateEntityFromDto() { // First validate test XML against schema string message; if (!this.assembler.ValidateSchema(this.testDoc, out message)) { Assert.Fail("SCHEMA VALIDATION: " + message); } // Do the thing: create MStabParameters from XML element CalculationParameters calculationParameters = this.assembler.CreateDomainObject(this.testDoc); Assert.IsNotNull(calculationParameters); // Calculation modules Assert.IsNotNull(calculationParameters.CalculationModules); Assert.IsTrue(calculationParameters.CalculationModules.StabilityOutside, "CalculationModules.StabilityOutside"); Assert.IsTrue(calculationParameters.CalculationModules.Stability, "CalculationModules.Stability"); Assert.IsTrue(calculationParameters.CalculationModules.PipingWti, "CalculationModules.PipingWti"); Assert.IsTrue(calculationParameters.CalculationModules.PipingBligh, "CalculationModules.PipingBligh"); Assert.IsTrue(calculationParameters.CalculationModules.PipingSellmeijer, "CalculationModules.PipingSellmeijer"); Assert.IsTrue(calculationParameters.CalculationModules.PipingSellmeijerProbabilistic, "CalculationModules.PipingSellmeijerProbabilistic"); Assert.IsTrue(calculationParameters.CalculationModules.PipingIJkdijk, "CalculationModules.PipingIJkdijk"); Assert.IsTrue(calculationParameters.CalculationModules.Overtopping, "CalculationModules.Overtopping"); // MStab parameters Assert.IsNotNull(calculationParameters.MStabParameters); Assert.AreEqual(false, calculationParameters.MStabParameters.IsCalculateAllStabilityProjectsAtOnce, "MStabParameters.IsCalculateAllStabilityProjectsAtOnce"); Assert.AreEqual(MStabModelType.UpliftVan, calculationParameters.MStabParameters.Model, "MStabParameters.Model"); Assert.AreEqual(MStabShearStrength.StressTables, calculationParameters.MStabParameters.ShearStrength, "MStabParameters.ShearStrength"); Assert.AreEqual(MStabSearchMethod.Grid, calculationParameters.MStabParameters.SearchMethod, "MStabParameters.SearchMethod"); Assert.AreEqual(false, calculationParameters.MStabParameters.IsProbabilistic, "MStabParameters.IsProbabilistic"); Assert.IsTrue(calculationParameters.MStabParameters.CalculationOptions.ZonesType.Equals(MStabZonesType.ForbiddenZone), "MStabParameters.CalculationOptions.ZonesType"); Assert.AreEqual(true, calculationParameters.MStabParameters.IsOverrulePLLineCreationMethod, "MStabParameters.IsOverrulePLLineCreationMethod"); Assert.AreEqual(PLLineCreationMethod.DupuitStatic, calculationParameters.MStabParameters.PLLineCreationMethod, "MStabParameters.PLLineCreationMethod"); } } }