public void Instance_WhenSetToInstance_ReturnsThatInstance() { // Setup var firstFactory = new TestPipingSubCalculatorFactory(); PipingSubCalculatorFactory.Instance = firstFactory; // Call IPipingSubCalculatorFactory secondFactory = PipingSubCalculatorFactory.Instance; // Assert Assert.AreSame(firstFactory, secondFactory); }
public void Calculate_CompleteValidInput_BottomLevelAquitardLayerAboveExitPointZUsedFromCalculator() { // Setup var input = new PipingCalculatorInput(CreateSimpleConstructionProperties()); var testPipingSubCalculatorFactory = new TestPipingSubCalculatorFactory(); double bottomAquitardLayerAboveExitPointZ = new Random(21).NextDouble(0, 10); testPipingSubCalculatorFactory.LastCreatedPipingProfilePropertyCalculator.BottomAquitardLayerAboveExitPointZ = bottomAquitardLayerAboveExitPointZ; // Call new PipingCalculator(input, testPipingSubCalculatorFactory).Calculate(); // Assert Assert.AreEqual(bottomAquitardLayerAboveExitPointZ, testPipingSubCalculatorFactory.LastCreatedSellmeijerCalculator.BottomLevelAquitardAboveExitPointZ); }
public void Validate_CompleteValidInput_CalculatorsValidated() { // Setup var input = new PipingCalculatorInput(CreateSimpleConstructionProperties()); var testPipingSubCalculatorFactory = new TestPipingSubCalculatorFactory(); var calculation = new PipingCalculator(input, testPipingSubCalculatorFactory); // Call calculation.Validate(); // Assert Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedEffectiveThicknessCalculator.Validated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedHeaveCalculator.Validated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedSellmeijerCalculator.Validated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedUpliftCalculator.Validated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedPipingProfilePropertyCalculator.Validated); }
public void CalculateThicknessCoverageLayer_WithValidInput_UsedPiezometricHeadAtExitCalculator() { // Setup var input = new PipingCalculatorInput(CreateSimpleConstructionProperties()); var testPipingSubCalculatorFactory = new TestPipingSubCalculatorFactory(); var calculation = new PipingCalculator(input, testPipingSubCalculatorFactory); // Call calculation.CalculatePiezometricHeadAtExit(); // Assert Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedHeaveCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedSellmeijerCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedUpliftCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedPipingProfilePropertyCalculator.Calculated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedPiezometricHeadAtExitCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedEffectiveThicknessCalculator.Calculated); }
public void Calculate_CompleteValidInput_ReturnsResultWithNoNaN() { // Setup var input = new PipingCalculatorInput(CreateSimpleConstructionProperties()); var testPipingSubCalculatorFactory = new TestPipingSubCalculatorFactory(); // Call PipingCalculatorResult actual = new PipingCalculator(input, testPipingSubCalculatorFactory).Calculate(); // Assert Assert.IsNotNull(actual); Assert.IsFalse(double.IsNaN(actual.UpliftEffectiveStress)); Assert.IsFalse(double.IsNaN(actual.UpliftFactorOfSafety)); Assert.IsFalse(double.IsNaN(actual.HeaveFactorOfSafety)); Assert.IsFalse(double.IsNaN(actual.SellmeijerFactorOfSafety)); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedHeaveCalculator.Calculated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedSellmeijerCalculator.Calculated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedUpliftCalculator.Calculated); Assert.IsTrue(testPipingSubCalculatorFactory.LastCreatedPipingProfilePropertyCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedPiezometricHeadAtExitCalculator.Calculated); Assert.IsFalse(testPipingSubCalculatorFactory.LastCreatedEffectiveThicknessCalculator.Calculated); }