public void InsertCollinearWallTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(1, 0), new Point(5, 0));
            blueEditor.InsertWall(new Point(3, 0), new Point(7, 0));
        }
        public void InsertNotIntersectedWallsBeamsCount()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(5, 5), new Point(8, 5));
            blueEditor.InsertWall(new Point(5, 3), new Point(8, 3));
            int expectedResult = 4;
            int actualResult   = materials.BeamsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void InsertIntersectedTShapeWallsCount()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(5, 5), new Point(8, 5));
            blueEditor.InsertWall(new Point(8, 2), new Point(8, 7));
            int expectedResult = 3;
            int actualResult   = materials.WallsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void ContinuousWallsInsertedNotMergeTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(0, 0), new Point(3, 0));
            blueEditor.InsertWall(new Point(3, 0), new Point(7, 0));
            int expectedResult = 2;
            int actualResult   = materials.WallsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void RemoveFromTShapeWallMergeTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(5, 5), new Point(8, 5));
            blueEditor.InsertWall(new Point(8, 3), new Point(8, 7));
            blueEditor.RemoveWall(new Point(5, 5), new Point(8, 5));
            int expectedResult = 1;
            int actualResult   = materials.WallsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void OpeningOnIntersectionRemovalTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(0, 0), new Point(3, 0));
            blueEditor.InsertOpening(new Door(new Point(1, 0)));
            blueEditor.InsertOpening(new Door(new Point(2, 0)));
            blueEditor.InsertWall(new Point(2, 0), new Point(2, 2));
            int expectedResult = 1;
            int actualResult   = materials.OpeningsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void MultipleInsertionsTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(2, 3), new Point(2, 1));
            blueEditor.InsertWall(new Point(8, 1), new Point(8, 3));
            blueEditor.InsertWall(new Point(10, 1), new Point(10, 3));
            blueEditor.InsertWall(new Point(1, 2), new Point(11, 2));
            int expectedResult = 11;
            int actualResult   = materials.WallsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void InsertWallInColumnPlaceBorderTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertColumn(new Point(2, 6));
            blueEditor.InsertWall(new Point(2, 3), new Point(2, 6));
        }
        private void drawSurface_MouseClickEndWall(object sender, MouseEventArgs e)
        {
            System.Drawing.Point gridAjustedPoint = drawer.AdjustPointToGridIntersection(drawer.drawSurface.PointToClient(Cursor.Position));
            System.Drawing.Point end = drawer.AdjustPointToHorizontalOrVerticalLine(gridAjustedPoint);

            try
            {
                editor.InsertWall(drawer.pointConverter.DrawablePointIntoLogicPoint(drawer.auxiliar), drawer.pointConverter.DrawablePointIntoLogicPoint(end));
            }
            catch (Exception)
            {
            }

            PaintWalls();
            PaintBeams();
            PaintOpenings();
            calulateCostsAndPrices();

            drawer.CreateOrRecreateLayer(ref drawer.layers.currentLineLayer);
            drawer.CreateOrRecreateLayer(ref drawer.layers.currentPointLayer);


            drawer.drawSurface.MouseMove  -= new MouseEventHandler(drawSurface_MouseMovePaintWall);
            drawer.drawSurface.MouseClick += new MouseEventHandler(drawSurface_MouseClickStartWall);
            drawer.drawSurface.MouseClick -= new MouseEventHandler(drawSurface_MouseClickEndWall);
        }
        public void InsertColumnInWall()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(1, 1), new Point(1, 4));
            blueEditor.InsertColumn(new Point(1, 3));
        }
        public void RemoveSingleWallBeamsCountTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(0, 0), new Point(5, 0));
            blueEditor.RemoveWall(new Point(0, 0), new Point(5, 0));
            Assert.IsTrue(materials.IsBeamsEmpty());
        }
        public void InsertFirstWallBeamsCountTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(5, 5), new Point(8, 5));
            int expectedResult = 2;
            int actualResult   = materials.BeamsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void InsertOversizedWallBeamsCountTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(0, 0), new Point(12, 0));
            int expectedResult = 4;
            int actualResult   = materials.BeamsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void RemoveUnexistentColumn()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(2, 3), new Point(2, 1));
            blueEditor.RemoveColumn(new Point(1, 1));
            int expectedResult = 0;
            int actualResult   = materials.GetColumns().Count;

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void RemoveUnexistentOpening()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(2, 3), new Point(2, 1));
            blueEditor.RemoveOpening(new Door(new Point(2, 2)));
            int expectedResult = 0;
            int actualResult   = materials.OpeningsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void InsertOpeningCorrectly()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(0, 0), new Point(3, 0));
            Opening testOpening = new Door(new Point(2, 0));

            blueEditor.InsertOpening(testOpening);
            int expectedResult = 1;
            int actualResult   = materials.OpeningsCount();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void InsertFirstWallTest()
        {
            BlueprintEditor blueEditor = GetInstance();
            Wall            testWall   = new Wall(new Point(5, 5), new Point(8, 5));

            blueEditor.InsertWall(new Point(5, 5), new Point(8, 5));
            ICollection <Wall> actualWallCollection = materials.GetWalls();
            IEnumerator <Wall> itr = actualWallCollection.GetEnumerator();

            itr.MoveNext();
            Wall actualResultWall = (Wall)itr.Current;

            Assert.AreEqual(testWall, actualResultWall);
        }
        public void InsertOutOfRangeWallTest()
        {
            BlueprintEditor blueEditor = GetInstance();

            blueEditor.InsertWall(new Point(-5, -20), new Point(20, 100));
        }