Beispiel #1
0
        public void Create_SlipPlaneGridsAutomatic_ReturnSlipPlaneUpliftVan()
        {
            // Setup
            var slipPlane = new UpliftVanSlipPlane();

            // Call
            UpliftVanCalculationGrid upliftVanCalculationGrid = UpliftVanCalculationGridCreator.Create(slipPlane);

            // Assert
            Assert.IsNotNull(upliftVanCalculationGrid.LeftGrid);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridXLeft);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridXRight);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridZTop);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridZBottom);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridXNumber);
            Assert.AreEqual(0, upliftVanCalculationGrid.LeftGrid.GridZNumber);
            Assert.IsNotNull(upliftVanCalculationGrid.RightGrid);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridXLeft);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridXRight);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridZTop);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridZBottom);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridXNumber);
            Assert.AreEqual(0, upliftVanCalculationGrid.RightGrid.GridZNumber);
            Assert.IsNull(upliftVanCalculationGrid.TangentLines); // Irrelevant - Only for output
        }
        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);
        }
Beispiel #3
0
        /// <summary>
        /// Creates a <see cref="UpliftVanCalculationGridResult"/> based on the information
        /// given in the <paramref name="upliftVanCalculationGrid"/>.
        /// </summary>
        /// <param name="upliftVanCalculationGrid">The output to create the result for.</param>
        /// <returns>A new <see cref="UpliftVanCalculationGridResult"/> with information
        /// taken from the <paramref name="upliftVanCalculationGrid"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="upliftVanCalculationGrid"/>
        /// is <c>null</c>.</exception>
        public static UpliftVanCalculationGridResult Create(UpliftVanCalculationGrid upliftVanCalculationGrid)
        {
            if (upliftVanCalculationGrid == null)
            {
                throw new ArgumentNullException(nameof(upliftVanCalculationGrid));
            }

            UpliftVanGrid leftGrid  = CreateGrid(upliftVanCalculationGrid.LeftGrid);
            UpliftVanGrid rightGrid = CreateGrid(upliftVanCalculationGrid.RightGrid);

            return(new UpliftVanCalculationGridResult(leftGrid, rightGrid, upliftVanCalculationGrid.TangentLines));
        }
Beispiel #4
0
        /// <summary>
        /// Creates a <see cref="UpliftVanCalculationGrid"/> based on the given <paramref name="slipPlane"/>,
        /// which can be used by <see cref="IUpliftVanKernel"/>.
        /// </summary>
        /// <param name="slipPlane">The <see cref="UpliftVanCalculationGrid"/> to get the information from.</param>
        /// <returns>A new <see cref="UpliftVanCalculationGrid"/> with the given information from <paramref name="slipPlane"/>.</returns>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="slipPlane"/> is <c>null</c>.</exception>
        public static UpliftVanCalculationGrid Create(UpliftVanSlipPlane slipPlane)
        {
            if (slipPlane == null)
            {
                throw new ArgumentNullException(nameof(slipPlane));
            }

            var upliftVanCalculationGrid = new UpliftVanCalculationGrid
            {
                LeftGrid  = CreateGrid(slipPlane, slipPlane.LeftGrid),
                RightGrid = CreateGrid(slipPlane, slipPlane.RightGrid)
            };

            return(upliftVanCalculationGrid);
        }
Beispiel #5
0
        public void Create_WithSlipPlane_ReturnUpliftVanCalculationGrid()
        {
            // Setup
            var    random           = new Random(21);
            double leftGridXLeft    = random.NextDouble();
            double leftGridXRight   = random.NextDouble();
            double leftGridZTop     = random.NextDouble();
            double leftGridZBottom  = random.NextDouble();
            int    leftGridXNumber  = random.Next();
            int    leftGridZNumber  = random.Next();
            double rightGridXLeft   = random.NextDouble();
            double rightGridXRight  = random.NextDouble();
            double rightGridZTop    = random.NextDouble();
            double rightGridZBottom = random.NextDouble();
            int    rightGridXNumber = random.Next();
            int    rightGridZNumber = random.Next();

            var leftGrid  = new UpliftVanGrid(leftGridXLeft, leftGridXRight, leftGridZTop, leftGridZBottom, leftGridXNumber, leftGridZNumber);
            var rightGrid = new UpliftVanGrid(rightGridXLeft, rightGridXRight, rightGridZTop, rightGridZBottom, rightGridXNumber, rightGridZNumber);
            var slipPlane = new UpliftVanSlipPlane(leftGrid, rightGrid);

            // Call
            UpliftVanCalculationGrid upliftVanCalculationGrid = UpliftVanCalculationGridCreator.Create(slipPlane);

            // Assert
            Assert.AreEqual(leftGridXLeft, upliftVanCalculationGrid.LeftGrid.GridXLeft);
            Assert.AreEqual(leftGridXRight, upliftVanCalculationGrid.LeftGrid.GridXRight);
            Assert.AreEqual(leftGridZTop, upliftVanCalculationGrid.LeftGrid.GridZTop);
            Assert.AreEqual(leftGridZBottom, upliftVanCalculationGrid.LeftGrid.GridZBottom);
            Assert.AreEqual(leftGridXNumber, upliftVanCalculationGrid.LeftGrid.GridXNumber);
            Assert.AreEqual(leftGridZNumber, upliftVanCalculationGrid.LeftGrid.GridZNumber);
            Assert.AreEqual(rightGridXLeft, upliftVanCalculationGrid.RightGrid.GridXLeft);
            Assert.AreEqual(rightGridXRight, upliftVanCalculationGrid.RightGrid.GridXRight);
            Assert.AreEqual(rightGridZTop, upliftVanCalculationGrid.RightGrid.GridZTop);
            Assert.AreEqual(rightGridZBottom, upliftVanCalculationGrid.RightGrid.GridZBottom);
            Assert.AreEqual(rightGridXNumber, upliftVanCalculationGrid.RightGrid.GridXNumber);
            Assert.AreEqual(rightGridZNumber, upliftVanCalculationGrid.RightGrid.GridZNumber);
            Assert.IsNull(upliftVanCalculationGrid.TangentLines); // Irrelevant - Only for output
        }
Beispiel #6
0
 /// <summary>
 /// Asserts whether <paramref name="actual"/> is equal to <paramref name="expected"/>.
 /// </summary>
 /// <param name="expected">The expected <see cref="UpliftVanCalculationGrid"/>.</param>
 /// <param name="actual">The actual <see cref="UpliftVanCalculationGrid"/>.</param>
 /// <exception cref="AssertionException">Thrown when <paramref name="actual"/>
 /// is not equal to <paramref name="expected"/>.</exception>
 public static void AssertUpliftVanCalculationGrid(UpliftVanCalculationGrid expected, UpliftVanCalculationGrid actual)
 {
     AssertCalculationGrid(expected.LeftGrid, actual.LeftGrid);
     AssertCalculationGrid(expected.RightGrid, actual.RightGrid);
     CollectionAssert.AreEqual(expected.TangentLines, actual.TangentLines);
 }