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)); }
/// <summary> /// Static method convert String type of abstract figure to AbstractFigure type /// </summary> /// <param name="inputString"></param> /// <returns></returns> public static BaseShape GetFigureFromString(string inputString) { BaseShape figure; string[] subStrings = inputString.Split('\u0027'); switch (subStrings[1]) { case "FilmCircle": figure = new FilmCircle(Double.Parse(subStrings[3])); break; case "FilmRectangle": figure = new FilmRectangle(Double.Parse(subStrings[3]), Double.Parse(subStrings[5])); break; case "PaperCircle": figure = new PaperCircle(Double.Parse(subStrings[3]), GetColorFromString(subStrings[5])); break; case "PaperRectangle": figure = new PaperRectangle(Double.Parse(subStrings[3]), Double.Parse(subStrings[5]), GetColorFromString(subStrings[7])); break; default: throw new Exception("Figure does not exist"); } return(figure); }
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); }
/// <summary> /// Reads the file. /// </summary> /// <param name="file">The file.</param> /// <returns>List of shapes.</returns> public List <IShape> ReadFile(string file) { List <IShape> shapes = new List <IShape>(); using (XmlReader reader = XmlReader.Create(file)) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.Name.Equals("circle")) { Circle circle; if (reader.GetAttribute("material").Equals("paper")) { circle = new PaperCircle( double.Parse(reader.GetAttribute("radius")), (Color)Enum.Parse(typeof(Color), reader.GetAttribute("color"))); } else { circle = new MembraneCircle(double.Parse(reader.GetAttribute("radius"))); } shapes.Add(circle); } if (reader.Name.Equals("square")) { Square square; if (reader.GetAttribute("material").Equals("paper")) { square = new PaperSquare(double.Parse(reader.GetAttribute("side")), (Color)Enum.Parse(typeof(Color), reader.GetAttribute("color"))); } else { square = new MembraneSquare(double.Parse(reader.GetAttribute("side"))); } shapes.Add(square); } if (reader.Name.Equals("rectangle")) { Rectangle rectangle; if (reader.GetAttribute("material").Equals("paper")) { rectangle = new PaperRectangle(double.Parse(reader.GetAttribute("firstSide")), double.Parse(reader.GetAttribute("secondSide")), (Color)Enum.Parse(typeof(Color), reader.GetAttribute("color"))); } else { rectangle = new MembraneRectangle( double.Parse(reader.GetAttribute("firstSide")), double.Parse(reader.GetAttribute("secondSide"))); } shapes.Add(rectangle); } } } } return(shapes); }
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)); }
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 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); }
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); }
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); }
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); }
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 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); }
public void GetPerimeter_PositiveTestResult(double rectangleFirstSide, double rectangleSecondSide, Colors color, double expectedPerimeter) { PaperRectangle actualPaperRectangle = new PaperRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }, color); Assert.AreEqual(expectedPerimeter, actualPaperRectangle.GetPerimeter()); }
public void TestGetPerimeterOfRectangle(double firstSide, double secondSide, double expectedArea) { Rectangle paperRectangle = new PaperRectangle(firstSide, secondSide); Rectangle membraneRectangle = new MembraneRectangle(firstSide, secondSide); Assert.AreEqual(expectedArea, paperRectangle.GetPerimeter()); Assert.AreEqual(expectedArea, membraneRectangle.GetPerimeter()); }
public void Test_PaperCircle(double resultRadius, params double[] sides) { var paperRectangle = new PaperRectangle(sides, Color.Black); var result = new PaperCircle(resultRadius, paperRectangle); var actualResult = new PaperCircle(resultRadius, Color.Black); Assert.AreEqual(result, actualResult); }
public void CreatingRectangleMustReturnObject(double firstSide, double secondSide) { Rectangle paperRectangle = new PaperRectangle(firstSide, secondSide); Rectangle membraneRectangle = new MembraneRectangle(firstSide, secondSide); Assert.IsNotNull(paperRectangle); Assert.IsNotNull(membraneRectangle); }
public void PaintOverFigure_IsPaintedException(double rectangleFirstSide, double rectangleSecondSide, Colors actualColor, Colors firstNewColor, Colors secondNewColor) { PaperRectangle actualPaperRectangle = new PaperRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }, actualColor); actualPaperRectangle.PaintOverFigure(firstNewColor); Assert.ThrowsException <IsPaintedException>(() => actualPaperRectangle.PaintOverFigure(secondNewColor)); }
public void PaintOverFigure_PositiveTestResult(double rectangleFirstSide, double rectangleSecondSide, Colors actualColor, Colors newColor, Colors expectedColor) { PaperRectangle actualPaperRectangle = new PaperRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }, actualColor); actualPaperRectangle.PaintOverFigure(newColor); Assert.AreEqual(expectedColor, actualPaperRectangle.Color); }
public void PaperCircle_CutFigureSmallerOriginal_PositiveTestResult(double rectangleFirstSide, double rectangleSecondSide, Colors color, double circleRadius) { PaperRectangle paperRectangle = new PaperRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }, color); PaperCircle expectedPaperCircle = new PaperCircle(circleRadius, paperRectangle); PaperCircle actualPaperCircle = new PaperCircle(circleRadius, color); Assert.AreEqual(expectedPaperCircle, actualPaperCircle); }
public void PaperCircle_WhenOldAreaMoreNewArea_CreatePaperCircle(params double[] sidesPaperRectangle) { var radiusPaperCircle = 5; var paperRectangle = new PaperRectangle(sidesPaperRectangle, Color.Black); var result = new PaperCircle(radiusPaperCircle, paperRectangle); var actualResult = new PaperCircle(radiusPaperCircle, Color.Black); Assert.AreEqual(result, actualResult); }
public void PaperRectangle_CutFigureBiggerOriginal_OutOfAreaException(double firstRectFirstSide, double firstRectSecondSide, double secondRectFirstSide, double secondRectSecondSide, Colors color) { PaperRectangle actualPaperRectangle = new PaperRectangle(new List <double> { firstRectFirstSide, firstRectSecondSide }, color); Assert.ThrowsException <OutOfAreaException>(() => new PaperRectangle(new List <double> { secondRectFirstSide, secondRectSecondSide }, actualPaperRectangle)); }
public void TestPaintNonePaperShapes(double radius, double squareSide, double rectangleFirstSide, double rectangleSecondSide, Color color) { PaperCircle paperCircle = new PaperCircle(radius); PaperRectangle paperRectangle = new PaperRectangle(rectangleFirstSide, rectangleSecondSide); PaperSquare paperSquare = new PaperSquare(squareSide); Assert.ThrowsException <UnableToPaintException>(() => paperCircle.Paint(color)); Assert.ThrowsException <UnableToPaintException>(() => paperSquare.Paint(color)); Assert.ThrowsException <UnableToPaintException>(() => paperRectangle.Paint(color)); }
public void PaperCircle_WhenOldAreaLessNewArea_GetArgumentException() { var sidesPaperRectangle = new List <double> { 12, 14 }; var radiusPaperCircle = 5; var paperCircle = new PaperCircle(radiusPaperCircle, Color.Red); var result = new PaperRectangle(sidesPaperRectangle, 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); } }
public void RecolorFigure_WhenFigureIsRecolorNotForFirstTime_GetArgumentException() { var sidesPaperRectangle = new List <double> { 6, 8 }; var paperRectangle = new PaperRectangle(sidesPaperRectangle, Color.Red); paperRectangle.RecolorFigure(Color.Green); paperRectangle.RecolorFigure(Color.Black); }
public void Test_GetPerimeter() { var sidesPaperRectangle = new List <double> { 6, 8 }; var paperRectangle = new PaperRectangle(sidesPaperRectangle, Color.Red); double result = paperRectangle.GetPerimeter(); double actualResult = 14; Assert.AreEqual(result, actualResult, 0.0000001); }
public void GetArea_NewRectangle_GetArea() { var actual = 168; // act var expected = new PaperRectangle(new List <double> { 12, 14 }, Color.Green); // assert; Assert.Equal(expected.GetArea(), actual); }
/// <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 PaperRectangle_WhenOldAreaMoreNewArea_CreatePaperCircle() { var sidesPaperRectangle = new List <double> { 2, 4 }; var radiusPaperCircle = 5; var paperCircle = new PaperCircle(radiusPaperCircle, Color.Red); var result = new PaperRectangle(sidesPaperRectangle, paperCircle); var actualResult = new PaperRectangle(sidesPaperRectangle, Color.Red); Assert.AreEqual(result, actualResult); }
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); }