// Copyright (C) Stichting Deltares 2018. All rights reserved. // // This file is part of the application DAM - UI. // // DAM - UI 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.Collections; using Deltares.Dam.Data; using NUnit.Framework; using Deltares.Dam.Data.UISupport; namespace Deltares.Dam.Tests.UISupport { [TestFixture] public class ConfigurationManagerTest { [Test] public void ReturnsCorrectAvailableDamProjectTypes() { ICollection projectTypes = ConfigurationManager.Instance.GetAvailableDamProjectTypes(); Assert.AreEqual(2, projectTypes.Count); } [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanisms() { ICollection failureMechanisms = ConfigurationManager.Instance.GetAvailableFailureMechanisms(DamProjectType.Design); Assert.AreEqual(2, failureMechanisms.Count, "DamClassicStability: Incorrect number of failuremechanisms for deterministic calculation"); foreach (var failureMechanism in failureMechanisms) { Assert.IsTrue(failureMechanism.Equals(FailureMechanismSystemType.Piping) || failureMechanism.Equals(FailureMechanismSystemType.StabilityInside) || failureMechanism.Equals(FailureMechanismSystemType.StabilityOutside) || failureMechanism.Equals(FailureMechanismSystemType.FlowSlide)); } } [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanismModelsForDesignOption() { ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.Piping); Assert.AreEqual(4, pipingModels.Count, "DamClassicStability: Incorrect number of models for deterministic piping calculation"); ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(1, stabilityInsideModels.Count, "DamClassicStability: Incorrect number of models for deterministic stability inside calculation"); ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.StabilityOutside); Assert.AreEqual(0, stabilityOutsideModels.Count, "DamClassicStability: Incorrect number of models for deterministic stability outside calculation"); ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.HorizontalBalance); Assert.AreEqual(0, stabilityHorizontalBalanceModels.Count, "DamClassicStability: Incorrect number of models for deterministic horizontal balance calculation"); ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Design, FailureMechanismSystemType.FlowSlide); Assert.AreEqual(0, flowSlideModels.Count, "DamClassicStability: Incorrect number of models for deterministic flowslide calculation"); } [Test] public void ReturnsCorrectAvailableDeterministicFailuremechanismModelsForCalamityOption() { ICollection pipingModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.Piping); Assert.AreEqual(3, pipingModels.Count, "Incorrect number of models for deterministic piping calculation"); ICollection stabilityInsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.StabilityInside); Assert.AreEqual(1, stabilityInsideModels.Count, "Incorrect number of models for deterministic stability inside calculation"); ICollection stabilityOutsideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.StabilityOutside); Assert.AreEqual(0, stabilityOutsideModels.Count, "Incorrect number of models for deterministic stability outside calculation"); ICollection stabilityHorizontalBalanceModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.HorizontalBalance); Assert.AreEqual(0, stabilityHorizontalBalanceModels.Count, "Incorrect number of models for deterministic horizontal balance calculation"); ICollection flowSlideModels = ConfigurationManager.Instance.GetAvailableMechanismModels(DamProjectType.Calamity, FailureMechanismSystemType.FlowSlide); Assert.AreEqual(0, flowSlideModels.Count, "Incorrect number of models for deterministic flowslide calculation"); } } }