示例#1
0
        public void RectangleTest()
        {
            Area room = AreaFactory.Rectangle("my office", _start, width, height, angleRadians);

            Coord nw = room.NorthWestCorner;
            Coord sw = room.SouthWestCorner;
            Coord se = room.SouthEastCorner;
            Coord ne = room.NorthEastCorner;

            Assert.AreEqual(nw, new Coord(1, 1));

            Assert.Greater(nw.X, sw.X);
            Assert.Greater(sw.Y, nw.Y);
            Assert.Greater(se.X, sw.X);
            Assert.Greater(se.Y, sw.Y);
            Assert.Greater(ne.X, nw.X);
            Assert.Greater(ne.Y, nw.Y);
            Assert.Greater(ne.X, se.X);
            Assert.Greater(se.Y, ne.Y);

            double topDiff    = Calculate.DistanceBetween(nw, ne);
            double rightDiff  = Calculate.DistanceBetween(se, ne);
            double bottomDiff = Calculate.DistanceBetween(sw, se);
            double leftDiff   = Calculate.DistanceBetween(nw, sw);

            Assert.AreEqual(topDiff, bottomDiff);
            Assert.AreEqual(leftDiff, rightDiff);
        }
        public void AddConnectionBetweenTest()
        {
            Area a            = AreaFactory.Rectangle("test-tangle", new Coord(0, 0), 6, 6);
            Area b            = AreaFactory.Rectangle("rest-ert", new Coord(a.Right, a.Top), 5, 5);
            int  aCountBefore = a.OuterPoints.Count();
            int  bCountBefore = b.OuterPoints.Count();

            Area.AddConnectionBetween(a, b);
            Assert.AreEqual(1, a.Connections.Count());
            Assert.AreEqual(1, b.Connections.Count());

            Assert.AreEqual(aCountBefore - 1, a.OuterPoints.Count());
            Assert.AreEqual(bCountBefore - 1, b.OuterPoints.Count());
        }