Ejemplo n.º 1
0
        public void PaperTriangleIntoRectangleConvertion2()
        {
            double        t_a        = 65;
            double        t_b        = 64;
            double        t_c        = 63;
            Color         t_color    = Color.red;
            PaperTriangle t_triangle = new PaperTriangle(t_a, t_b, t_c, t_color);

            double t_a1 = 1;
            double t_b1 = 2;
            double t_c1 = 1;
            double t_d1 = 2;

            PaperRectangle t_rectangle = new PaperRectangle(t_a1, t_b1, t_c1, t_d1, t_triangle);

            double         ex_a         = 1;
            double         ex_b         = 2;
            double         ex_c         = 1;
            double         ex_d         = 2;
            Color          ex_color     = Color.red;
            PaperRectangle ex_rectangle = new PaperRectangle(ex_a, ex_b, ex_c, ex_d, ex_color);


            Assert.IsTrue(ex_rectangle.Equals(t_rectangle));
        }
Ejemplo n.º 2
0
        public void Equals_FigureIsInBox_Equals()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            var  expectedBox   = new Box(figures);
            bool expected      = true;
            var  actualFigures = new IFigure[20];

            actualFigures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            actualFigures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            var actual = new Box(actualFigures);

            // assert;
            Assert.Equal(expected, actual.Equals(expectedBox));
        }
Ejemplo n.º 3
0
        public void WritingByXmtTextWriterAndReadingByStreamReaderTest()
        {
            string path = @"..\..\..\..\epam_task_3.1\Res\NewPaperBox11.xml";

            FileWriter writer   = new FileWriter();
            Material   material = Material.film;

            Box t_box = new Box();

            t_box[0] = new PaperCircle(5, Color.red);
            t_box[1] = new PaperRectangle(1, 1, 1, 1, Color.red);
            t_box[2] = new PaperTriangle(1, 1, 1, Color.red);
            t_box[3] = new FilmCircle(5);
            t_box[4] = new FilmRectangle(1, 1, 1, 1);
            t_box[5] = new FilmTriangle(1, 1, 1);

            writer.WriteFiguresByXmlTextWriter(t_box, material, path);

            FileReader reader = new FileReader();
            Box        r_box  = reader.ReadXmlByStreamReader(path);

            Box ex_box = new Box();

            ex_box[0] = new FilmCircle(5);
            ex_box[1] = new FilmRectangle(1, 1, 1, 1);
            ex_box[2] = new FilmTriangle(1, 1, 1);

            CollectionAssert.AreEqual(ex_box.Items, r_box.Items);
        }
Ejemplo n.º 4
0
        public void GetByNumber_FigureIsInBox_GetByNumberAndRemoveInBox()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            figures[2] = new PaperCircle(3, Color.Green);
            figures[3] = new PaperSquare(new List <double> {
                5
            }, Color.Green);

            var actualResult = 3;
            var expectedBox  = new Box(figures);

            // act
            expectedBox.GetByNumber(3);

            // assert;
            Assert.Equal(expectedBox.ShowCountFigures(), actualResult);
        }
Ejemplo n.º 5
0
        public void FindBySample_FigureIsNotInBox_NotBySample()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                14, 8, 9
            }, Color.Green);
            var expectedBox = new Box(figures);

            var actual = new PaperTriangle(new List <double> {
                3, 8, 5
            }, Color.Purple);

            // act
            var expected = expectedBox.FindBySample(new PaperTriangle(new List <double> {
                3, 8, 5
            }, Color.Purple));

            // assert;
            Assert.NotEqual(expected, actual);
        }
Ejemplo n.º 6
0
        public void GetAllCircle_FigureIsInBox_GetAllCircle()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            figures[2] = new PaperCircle(3, Color.Green);
            figures[3] = new PaperSquare(new List <double> {
                5
            }, Color.Green);
            figures[4] = new FilmCircle(6);

            var actualFigures = new List <IFigure>();

            actualFigures.Add(new PaperCircle(3, Color.Green));
            actualFigures.Add(new FilmCircle(6));

            var expected = new Box(figures);

            // assert;
            Assert.Equal(expected.GetAllCircle(), actualFigures);
        }
Ejemplo n.º 7
0
        public void AddFigure_FigureIsInBox_AddNewFigure()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            figures[2] = new PaperCircle(3, Color.Green);
            figures[3] = new PaperSquare(new List <double> {
                5
            }, Color.Green);
            var figure       = new FilmCircle(6);
            var actualResult = new Box(figures);

            actualResult.AddFigure(figure);
            var expected = new Box(figures);

            // act
            expected.AddFigure(figure);

            // assert;
            Assert.Equal(expected, actualResult);
        }
Ejemplo n.º 8
0
        public void ReplaceByNumber_FigureIsInBox_ReplaceByNumberFigure()
        {
            // arrange
            var figures = new IFigure[20];

            figures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            figures[1] = new PaperTriangle(new List <double> {
                3, 4, 5
            }, Color.Red);
            var expectedBox = new Box(figures);

            var actualFigures = new IFigure[20];

            actualFigures[0] = new PaperRectangle(new List <double> {
                4, 6
            }, Color.Black);
            actualFigures[1] = new PaperTriangle(new List <double> {
                3, 8, 5
            }, Color.Purple);
            var actual = new Box(actualFigures);

            // act
            expectedBox.ReplaceByNumber(1, new PaperTriangle(new List <double> {
                3, 8, 5
            }, Color.Purple));

            // assert;
            Assert.Equal(expectedBox, actual);
        }
Ejemplo n.º 9
0
        public void PaperRectangleIntoTriangleConverstion3()
        {
            double t_a     = 30;
            double t_b     = 150;
            double t_c     = 30;
            double t_d     = 150;
            Color  t_color = Color.green;

            PaperRectangle t_rectangle = new PaperRectangle(t_a, t_b, t_c, t_d, t_color);


            double t_a1 = 2;
            double t_b1 = 2;
            double t_c1 = 2;

            PaperTriangle t_triangle = new PaperTriangle(t_a1, t_b1, t_c1, t_color);

            double        ex_a        = 2;
            double        ex_b        = 2;
            double        ex_c        = 2;
            Color         ex_color    = Color.green;
            PaperTriangle ex_triangle = new PaperTriangle(ex_a, ex_b, ex_c, ex_color);

            Assert.IsTrue(ex_triangle.Equals(t_triangle));
        }
        public void Test_GetPerimeter(double actualResult, params double[] sides)
        {
            var    paperTriangle = new PaperTriangle(sides, Color.Red);
            double result        = paperTriangle.GetPerimeter();

            Assert.AreEqual(result, actualResult, 0.000001);
        }
Ejemplo n.º 11
0
        public void AddFigureToFullBox()
        {
            Box t_box = new Box();

            t_box[0]  = new PaperCircle(5, Color.red);
            t_box[1]  = new PaperRectangle(1, 1, 1, 1, Color.red);
            t_box[2]  = new PaperTriangle(1, 1, 1, Color.red);
            t_box[3]  = new FilmCircle(5);
            t_box[4]  = new FilmRectangle(1, 1, 1, 1);
            t_box[5]  = new FilmTriangle(1, 1, 1);
            t_box[6]  = new PaperCircle(3, Color.red);
            t_box[7]  = new PaperRectangle(2, 1, 2, 1, Color.red);
            t_box[8]  = new PaperTriangle(2, 2, 2, Color.red);
            t_box[9]  = new FilmCircle(6);
            t_box[10] = new FilmRectangle(7, 7, 7, 7);
            t_box[11] = new FilmTriangle(5, 5, 5);
            t_box[12] = new PaperCircle(1, Color.blue);
            t_box[13] = new PaperRectangle(1, 1, 1, 1, Color.green);
            t_box[14] = new PaperTriangle(1, 1, 1, Color.blue);
            t_box[15] = new FilmCircle(6);
            t_box[16] = new FilmRectangle(10, 10, 10, 10);
            t_box[17] = new FilmTriangle(3, 4, 5);
            t_box[18] = new PaperCircle(13, Color.red);
            t_box[19] = new PaperRectangle(9, 1, 9, 1, Color.red);

            double      t_r      = 15;
            Color       t_color  = Color.green;
            PaperCircle t_circle = new PaperCircle(t_r, t_color);

            t_box.Add(t_circle);
        }
        public void GetPerimeter_PositiveTestResult(double triangleFirstSide, double triangleSecondSide, double triangleThirdSide, Colors color, double expectedPerimeter)
        {
            PaperTriangle actualPaperTriangle = new PaperTriangle(new List <double> {
                triangleFirstSide, triangleSecondSide, triangleThirdSide
            }, color);

            Assert.AreEqual(expectedPerimeter, actualPaperTriangle.GetPerimeter());
        }
        public void Test_PaperTriangle(double radius, params double[] resultSides)
        {
            var paperCircle  = new PaperCircle(radius, Color.Red);
            var result       = new PaperTriangle(resultSides, paperCircle);
            var actualResult = new PaperTriangle(resultSides, Color.Red);

            Assert.AreEqual(result, actualResult);
        }
        public void PaintOverFigure_PositiveTestResult(double triangleFirstSide, double triangleSecondSide, double triangleThirdSide, Colors actualColor, Colors newColor, Colors expectedColor)
        {
            PaperTriangle actualPaperTriangle = new PaperTriangle(new List <double> {
                triangleFirstSide, triangleSecondSide, triangleThirdSide
            }, actualColor);

            actualPaperTriangle.PaintOverFigure(newColor);
            Assert.AreEqual(expectedColor, actualPaperTriangle.Color);
        }
        public void PaintOverFigure_IsPaintedException(double triangleFirstSide, double triangleSecondSide, double triangleThirdSide, Colors actualColor, Colors newFirstColor, Colors newSecondColor)
        {
            PaperTriangle actualPaperTriangle = new PaperTriangle(new List <double> {
                triangleFirstSide, triangleSecondSide, triangleThirdSide
            }, actualColor);

            actualPaperTriangle.PaintOverFigure(newFirstColor);
            Assert.ThrowsException <IsPaintedException>(() => actualPaperTriangle.PaintOverFigure(newSecondColor));
        }
Ejemplo n.º 16
0
        public void Test_SearchFigure(Color color, params double[] sidesTriangle)
        {
            var figure = new PaperTriangle(sidesTriangle, color);

            IFigure result       = _box.SearchFigure(figure);
            IFigure actualResult = figure;

            Assert.AreEqual(result, actualResult);
        }
        public void PaperRectangle_CutFigureBiggerOriginal_OutOfAreaException(double firstTriangleFirstSide, double firstTriangleSecondSide, double firstTriangleThirdSide, Colors color, double secondTriangleFirstSide, double secondTriangleSecondSide, double secondTriangleThirdSide)
        {
            PaperTriangle actualPaperTriangle = new PaperTriangle(new List <double> {
                firstTriangleFirstSide, firstTriangleSecondSide, firstTriangleThirdSide
            }, color);

            Assert.ThrowsException <OutOfAreaException>(() => new PaperTriangle(new List <double> {
                secondTriangleFirstSide, secondTriangleSecondSide, secondTriangleThirdSide
            }, actualPaperTriangle));
        }
Ejemplo n.º 18
0
        public void PaperCircle_WhenOldAreaLessNewArea_GetArgumentException()
        {
            var sidesPaperTriangle = new List <double> {
                13, 14, 15
            };
            var radiusPaperCircle = 5;

            var paperCircle = new PaperCircle(radiusPaperCircle, Color.Red);
            var result      = new PaperTriangle(sidesPaperTriangle, paperCircle);
        }
        /// <summary>
        /// The method reads data from a file using StreamReader and returns a list of figures.
        /// </summary>
        /// <returns>Figure list</returns>
        public static List <IFigure> ReadFiguresStreamReader(string filePath)
        {
            using (var streamReader = new StreamReader(filePath))
            {
                var    figures = new List <IFigure>();
                string line;

                while ((line = streamReader.ReadLine()) != null)
                {
                    string elementContent = line.Trim('<', '>', '/', '\t', ' ');

                    if (!Enum.TryParse(typeof(TypeFigure), elementContent, out object typeFigure))
                    {
                        continue;
                    }

                    switch (typeFigure)
                    {
                    case TypeFigure.PaperCircle:
                        PaperCircle paperCircle = ParserFiguresUsingStream.ParseToPaperCircleFromXmlElement(streamReader);
                        figures.Add(paperCircle);
                        break;

                    case TypeFigure.PaperRectangle:
                        PaperRectangle paperRectangle = ParserFiguresUsingStream.ParseToPaperRectangleFromXmlElement(streamReader);
                        figures.Add(paperRectangle);
                        break;

                    case TypeFigure.PaperTriangle:
                        PaperTriangle paperTriangle = ParserFiguresUsingStream.ParseToPaperTriangleFromXmlElement(streamReader);
                        figures.Add(paperTriangle);
                        break;

                    case TypeFigure.SkinCircle:
                        SkinCircle skinCircle = ParserFiguresUsingStream.ParseToSkinCircleFromXmlElement(streamReader);
                        figures.Add(skinCircle);
                        break;

                    case TypeFigure.SkinRectangle:
                        SkinRectangle skinRectangle = ParserFiguresUsingStream.ParseToSkinRectangleFromXmlElement(streamReader);
                        figures.Add(skinRectangle);
                        break;

                    case TypeFigure.SkinTriangle:
                        SkinTriangle skinTriangle = ParserFiguresUsingStream.ParseToSkinTriangleFromXmlElement(streamReader);
                        figures.Add(skinTriangle);
                        break;
                    }

                    streamReader.ReadLine();
                }

                return(figures);
            }
        }
Ejemplo n.º 20
0
        public void RecolorFigure_WhenFigureIsRecolorNotForFirstTime_GetArgumentException()
        {
            var sidesPaperTriangle = new List <double> {
                6, 8, 6
            };

            var paperTriangle = new PaperTriangle(sidesPaperTriangle, Color.Red);

            paperTriangle.RecolorFigure(Color.Green);
            paperTriangle.RecolorFigure(Color.Black);
        }
Ejemplo n.º 21
0
        public void Test_GetPerimeter()
        {
            var sidesPaperTriangle = new List <double> {
                6, 8, 6
            };

            var    paperTriangle = new PaperTriangle(sidesPaperTriangle, Color.Red);
            double result        = paperTriangle.GetPerimeter();
            double actualResult  = 20;

            Assert.AreEqual(result, actualResult, 0.000001);
        }
Ejemplo n.º 22
0
        public void Test_GetArea()
        {
            var sidesPaperTriangle = new List <double> {
                6, 8, 6
            };

            var    paperTriangle = new PaperTriangle(sidesPaperTriangle, Color.Red);
            double result        = paperTriangle.GetArea();
            var    actualResult  = 17.888543;

            Assert.AreEqual(result, actualResult, 0.000001);
        }
Ejemplo n.º 23
0
        public void FindFigure()
        {
            Box t_box = new Box();

            t_box[0] = new PaperCircle(5, Color.red);
            t_box[1] = new FilmRectangle(1, 1, 1, 1);
            t_box[2] = new PaperTriangle(1, 1, 1, Color.red);
            t_box[3] = new FilmCircle(5);
            PaperCircle ex_circle = new PaperCircle(5, Color.red);

            Assert.IsTrue(t_box.Find(ex_circle));
        }
Ejemplo n.º 24
0
        public void GetArea_NewRectangle_GetArea()
        {
            var actual = 3.799671038392666;

            // act
            var expected = new PaperTriangle(new List <double> {
                2, 4, 5
            }, Color.Black);

            // assert;
            Assert.Equal(expected.GetArea(), actual);
        }
Ejemplo n.º 25
0
        public void GetPerimeter_NewRectangle_GetPerimeter()
        {
            var actual = 11;

            // act
            var expected = new PaperTriangle(new List <double> {
                2, 4, 5
            }, Color.Black);

            // assert;
            Assert.Equal(expected.GetPerimeter(), actual);
        }
        public void Test_RecolorFigure_ThrowsArgumentException(Type typeException, string exceptionMessage, Color colorBlue, Color colorGreen, Color colorRed)
        {
            var sidesPaperRectangle = new List <double> {
                6, 8, 6
            };

            var paperTriangle = new PaperTriangle(sidesPaperRectangle, colorBlue);

            paperTriangle.RecolorFigure(colorGreen);

            Assert.That(() => paperTriangle.RecolorFigure(colorRed), Throws.ArgumentException.With.Message.EqualTo(exceptionMessage));
        }
        /// <summary>
        /// The method reads data from a file using XmlReader and returns a list of figures.
        /// </summary>
        /// <param name="filePath">Path to the file</param>
        /// <returns>Figure list</returns>
        public static List <IFigure> ReadFiguresXmlReader(string filePath)
        {
            using (var xmlReader = new XmlTextReader(filePath))
            {
                var figures = new List <IFigure>();

                while (xmlReader.Read())
                {
                    if (!Enum.TryParse(typeof(TypeFigure), xmlReader.Name, out object typeFigure))
                    {
                        continue;
                    }

                    switch (typeFigure)
                    {
                    case TypeFigure.PaperCircle:
                        PaperCircle paperCircle = ParserFigureUsingXML.ParseToPaperCircleFromXmlElement(xmlReader);
                        figures.Add(paperCircle);
                        break;

                    case TypeFigure.PaperRectangle:
                        PaperRectangle paperRectangle = ParserFigureUsingXML.ParseToPaperRectangleFromXmlElement(xmlReader);
                        figures.Add(paperRectangle);
                        break;

                    case TypeFigure.PaperTriangle:
                        PaperTriangle paperTriangle = ParserFigureUsingXML.ParseToPaperTriangleFromXmlElement(xmlReader);
                        figures.Add(paperTriangle);
                        break;

                    case TypeFigure.SkinCircle:
                        SkinCircle skinCircle = ParserFigureUsingXML.ParseToSkinCircleFromXmlElement(xmlReader);
                        figures.Add(skinCircle);
                        break;

                    case TypeFigure.SkinRectangle:
                        SkinRectangle skinRectangle = ParserFigureUsingXML.ParseToSkinRectangleFromXmlElement(xmlReader);
                        figures.Add(skinRectangle);
                        break;

                    case TypeFigure.SkinTriangle:
                        SkinTriangle skinTriangle = ParserFigureUsingXML.ParseToSkinTriangleFromXmlElement(xmlReader);
                        figures.Add(skinTriangle);
                        break;
                    }

                    xmlReader.Read();
                }

                return(figures);
            }
        }
        public void Test_RecolorFigure(Color colorBlue, Color actualResult)
        {
            var sides = new List <double> {
                6, 8, 8
            };

            var paperTriangle = new PaperTriangle(sides, colorBlue);

            paperTriangle.RecolorFigure(actualResult);
            Color result = paperTriangle.Color;

            Assert.AreEqual(result, actualResult);
        }
Ejemplo n.º 29
0
        public void GetArea()
        {
            Box t_box = new Box();

            t_box[0] = new PaperCircle(5, Color.red);
            t_box[1] = new PaperRectangle(1, 1, 1, 1, Color.red);
            t_box[2] = new PaperTriangle(1, 1, 1, Color.red);

            double t_Area  = t_box.GetTotalArea();
            double ex_Area = 79.972;

            Assert.AreEqual(ex_Area, t_Area, 0.001);
        }
Ejemplo n.º 30
0
        public void GetPerimeter()
        {
            Box t_box = new Box();

            t_box[0] = new PaperCircle(5, Color.red);
            t_box[1] = new PaperRectangle(1, 1, 1, 1, Color.red);
            t_box[2] = new PaperTriangle(1, 1, 1, Color.red);

            double t_Perimeter  = t_box.GetTotalPerimeter();
            double ex_Perimeter = 38.416;

            Assert.AreEqual(ex_Perimeter, t_Perimeter, 0.001);
        }