public void SectionThinWallGeneralReturnsI_y()
        {
            List <ThinWallSegment> segments = new List <ThinWallSegment>()
            {
                new ThinWallSegment(new Line2D(new Point2D(-6.0 / 2.0, (17.7 - 0.425) / 2.0 + 6), new Point2D(6.0 / 2.0, (17.7 - 0.425) / 2.0 + 6)), 0.425),
                new ThinWallSegment(new Line2D(new Point2D(-6.0 / 2.0, -(17.7 - 0.425) / 2.0 + 6), new Point2D(6.0 / 2.0, -(17.7 - 0.425) / 2.0 + 6)), 0.425),
                new ThinWallSegment(new Line2D(new Point2D(0, -(17.7 - 0.425) / 2.0 + 6), new Point2D(0, (17.7 - 0.425) / 2.0 + 6)), 0.3)
            };


            SectionThinWall shape           = new SectionThinWall(segments);
            double          Iy              = shape.I_y;
            double          refValue        = 15.3;
            double          actualTolerance = EvaluateActualTolerance(Iy, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
        public void SectionThinWallReturnsIxMoved1()
        {
            List <ThinWallSegment> segments = new List <ThinWallSegment>()
            {
                new ThinWallSegment(new Line2D(new Point2D(-27.79 * 12.0, 10.742 * 12.0), new Point2D(-27.79 * 12.0, 7.075 * 12.0)), 1.77),
                new ThinWallSegment(new Line2D(new Point2D(-28.415 * 12.0, 10.742 * 12.0), new Point2D(-27.165 * 12.0, 10.742 * 12.0)), 1.07),
                new ThinWallSegment(new Line2D(new Point2D(-28.415 * 12.0, 7.075 * 12.0), new Point2D(-27.165 * 12.0, 7.075 * 12.0)), 1.77)
            };


            SectionThinWall shape           = new SectionThinWall(segments);
            double          Ix              = shape.I_x;
            double          refValue        = 31100.00;
            double          actualTolerance = EvaluateActualTolerance(Ix, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
        public void SectionThinWallReturnsIxMoved2Skew()
        {
            List <ThinWallSegment> segments = new List <ThinWallSegment>()
            {
                new ThinWallSegment(new Line2D(new Point2D(-36.009 * 12.0, 8.108 * 12.0), new Point2D(-36.009 * 12.0 - 21.0, 4.754 * 12.0)), 1.03),
                new ThinWallSegment(new Line2D(new Point2D(-36.671 * 12.0, 8.190 * 12.0), new Point2D(-35.346 * 12.0, 8.190 * 12.0)), 1.77),
                new ThinWallSegment(new Line2D(new Point2D(-36.671 * 12.0 - 21.0, 4.670 * 12.0), new Point2D(-35.346 * 12.0 - 21.0, 4.670 * 12.0)), 1.77)
            };


            SectionThinWall shape           = new SectionThinWall(segments);
            double          Ix              = shape.I_x;
            double          refValue        = 32668.00; //from AutoCAD
            double          actualTolerance = EvaluateActualTolerance(Ix, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }
        public void SectionThinWallReturnsIyMoved()
        {
            List <ThinWallSegment> segments = new List <ThinWallSegment>()
            {
                new ThinWallSegment(new Line2D(new Point2D(-440.05, 98.27), new Point2D(-424.15, 98.27)), 1.77),
                new ThinWallSegment(new Line2D(new Point2D(-432.1, 98.27), new Point2D(-432.1, 56.04)), 1.07),
                new ThinWallSegment(new Line2D(new Point2D(-424.15, 56.04), new Point2D(-440.05, 56.04)), 1.77)
            };


            SectionThinWall shape           = new SectionThinWall(segments);
            double          Iy              = shape.I_y;
            double          refValue        = 1200.00;
            double          actualTolerance = EvaluateActualTolerance(Iy, refValue);

            Assert.LessOrEqual(actualTolerance, tolerance);
        }