コード例 #1
0
        public void Create_WithUpliftVanCalculationGrid_ReturnUpliftVanCalculationGridResult()
        {
            // Setup
            var    random                   = new Random(21);
            double leftGridXLeft            = random.Next();
            double leftGridXRight           = random.Next();
            double leftGridZTop             = random.Next();
            double leftGridZBottom          = random.Next();
            int    leftGridHorizontalPoints = random.Next();
            int    leftGridVerticalPoints   = random.Next();

            double rightGridXLeft            = random.Next();
            double rightGridXRight           = random.Next();
            double rightGridZTop             = random.Next();
            double rightGridZBottom          = random.Next();
            int    rightGridHorizontalPoints = random.Next();
            int    rightGridVerticalPoints   = random.Next();

            double tangentLine1 = random.Next();
            double tangentLine2 = random.Next();

            var upliftVanCalculationGrid = new UpliftVanCalculationGrid
            {
                LeftGrid = new CalculationGrid
                {
                    GridXLeft   = leftGridXLeft,
                    GridXRight  = leftGridXRight,
                    GridZTop    = leftGridZTop,
                    GridZBottom = leftGridZBottom,
                    GridXNumber = leftGridHorizontalPoints,
                    GridZNumber = leftGridVerticalPoints
                },
                RightGrid = new CalculationGrid
                {
                    GridXLeft   = rightGridXLeft,
                    GridXRight  = rightGridXRight,
                    GridZTop    = rightGridZTop,
                    GridZBottom = rightGridZBottom,
                    GridXNumber = rightGridHorizontalPoints,
                    GridZNumber = rightGridVerticalPoints
                },
                TangentLines = new List <double>
                {
                    tangentLine1,
                    tangentLine2
                }
            };

            // Call
            UpliftVanCalculationGridResult result = UpliftVanCalculationGridResultCreator.Create(upliftVanCalculationGrid);

            // Assert
            AssertGrid(upliftVanCalculationGrid.LeftGrid, result.LeftGrid);
            AssertGrid(upliftVanCalculationGrid.RightGrid, result.RightGrid);
            CollectionAssert.AreEqual(upliftVanCalculationGrid.TangentLines, result.TangentLines);
        }
        /// <summary>
        /// Converts <see cref="UpliftVanCalculationGridResult"/>
        /// into <see cref="MacroStabilityInwardsSlipPlaneUpliftVan"/>.
        /// </summary>
        /// <param name="result">The result to convert.</param>
        /// <returns>The converted <see cref="MacroStabilityInwardsSlipPlaneUpliftVan"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="result"/>
        /// is <c>null</c>.</exception>
        public static MacroStabilityInwardsSlipPlaneUpliftVan Convert(UpliftVanCalculationGridResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            MacroStabilityInwardsGrid leftGrid  = ConvertGrid(result.LeftGrid);
            MacroStabilityInwardsGrid rightGrid = ConvertGrid(result.RightGrid);

            return(new MacroStabilityInwardsSlipPlaneUpliftVan(leftGrid, rightGrid, result.TangentLines.Select(tangentLine => (RoundedDouble)tangentLine)));
        }
コード例 #3
0
        public void Constructor_WithParameters_ExpectedValues()
        {
            // Setup
            UpliftVanSlidingCurveResult    slidingCurveResult    = UpliftVanSlidingCurveResultTestFactory.Create();
            UpliftVanCalculationGridResult calculationGridResult = CreateGridResult();

            IEnumerable <MacroStabilityInwardsKernelMessage> calculationMessages = new List <MacroStabilityInwardsKernelMessage>();

            // Call
            var result = new UpliftVanCalculatorResult(slidingCurveResult,
                                                       calculationGridResult,
                                                       calculationMessages,
                                                       new UpliftVanCalculatorResult.ConstructionProperties());

            // Assert
            Assert.AreSame(slidingCurveResult, result.SlidingCurveResult);
            Assert.AreSame(calculationGridResult, result.CalculationGridResult);
            Assert.AreSame(calculationMessages, result.CalculationMessages);
        }
コード例 #4
0
        public void Constructor_ValidParameters_ExpectedValues()
        {
            // Setup
            UpliftVanGrid leftGrid  = UpliftVanGridTestFactory.Create();
            UpliftVanGrid rightGrid = UpliftVanGridTestFactory.Create();

            double[] tangentLines =
            {
                0,
                1,
                1.5,
                2
            };

            // Call
            var result = new UpliftVanCalculationGridResult(leftGrid, rightGrid, tangentLines);

            // Assert
            Assert.AreSame(leftGrid, result.LeftGrid);
            Assert.AreSame(rightGrid, result.RightGrid);
            Assert.AreSame(tangentLines, result.TangentLines);
        }
コード例 #5
0
        public void Convert_WithResult_ReturnConvertedSlipPlaneUpliftVan()
        {
            // Setup
            UpliftVanGrid leftGrid  = UpliftVanGridTestFactory.Create();
            UpliftVanGrid rightGrid = UpliftVanGridTestFactory.Create();

            double[] tangentLines =
            {
                3,
                2,
                1.5
            };

            var result = new UpliftVanCalculationGridResult(leftGrid, rightGrid, tangentLines);

            // Call
            MacroStabilityInwardsSlipPlaneUpliftVan output = MacroStabilityInwardsSlipPlaneUpliftVanConverter.Convert(result);

            // Assert
            CollectionAssert.AreEqual(tangentLines, output.TangentLines.Select(tl => tl.Value), new DoubleWithToleranceComparer(1e-2));
            AssertGrid(leftGrid, output.LeftGrid);
            AssertGrid(rightGrid, output.RightGrid);
        }
コード例 #6
0
 /// <summary>
 /// Asserts whether <paramref name="actual"/> is equal to <paramref name="expected"/>.
 /// </summary>
 /// <param name="expected">The expected <see cref="UpliftVanCalculationGridResult"/>.</param>
 /// <param name="actual">The actual <see cref="UpliftVanCalculationGridResult"/>.</param>
 /// <exception cref="AssertionException">Thrown when <paramref name="actual"/>
 /// is not equal to <paramref name="expected"/>.</exception>
 public static void AssertUpliftVanCalculationGridResult(UpliftVanCalculationGridResult expected, UpliftVanCalculationGridResult actual)
 {
     CollectionAssert.AreEqual(expected.TangentLines, actual.TangentLines);
     AssertUpliftVanGrid(expected.LeftGrid, actual.LeftGrid);
     AssertUpliftVanGrid(expected.RightGrid, actual.RightGrid);
 }