public void Test_GetPerimeter(double radius, double actualResult) { var paperCircle = new PaperCircle(radius, Color.Blue); double result = paperCircle.GetPerimeter(); Assert.AreEqual(result, actualResult, 0.0000001); }
/// <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 PaintOverFigure_IsPaintedException(double circleRadius, Colors actualColor, Colors firstNewColor, Colors secondNewColor) { PaperCircle paperCircle = new PaperCircle(circleRadius, actualColor); paperCircle.PaintOverFigure(firstNewColor); Assert.ThrowsException <IsPaintedException>(() => paperCircle.PaintOverFigure(secondNewColor)); }
/// <summary> /// The method parses the paper circle into the xml element. /// </summary> /// <param name="xmlWriter"></param> /// <param name="paperCircle">Paper circle</param> public static void ParseToXmlElementFromPaperCircle(XmlTextWriter xmlWriter, PaperCircle paperCircle) { xmlWriter.WriteStartElement(nameof(PaperCircle)); xmlWriter.WriteElementString(nameof(PaperCircle.Radius), paperCircle.Radius.ToString()); xmlWriter.WriteElementString(nameof(PaperCircle.Color), paperCircle.Color.ToString()); xmlWriter.WriteEndElement(); }
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 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 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> /// 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 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 SaveFiguresToXmlFileUsingXmlWriterAndGetFiguresFromXmlFileUsingXmlReader_FigureIsInBox_GetFIgure() { // arrange string path = @"..\..\..\Figures.xml"; var figures = new IFigure[20]; figures[0] = new PaperCircle(5, Color.Red); figures[1] = new FilmRectangle(new List <double> { 11, 18 }); figures[2] = new PaperSquare(new List <double> { 8 }, Color.Green); figures[3] = new FilmTriangle(new List <double> { 9, 11, 4 }); var actualBox = new Box(figures); actualBox.SaveFiguresToXmlFileUsingXmlWriter(path); var expected = new Box(); expected.GetFiguresFromXmlFileUsingXmlReader(path); // assert; Assert.Equal(expected, actualBox); }
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 PaintOverFigure_PositiveTestResult(double circleRadius, Colors actualColor, Colors newColor, Colors expectedColor) { PaperCircle paperCircle = new PaperCircle(circleRadius, actualColor); paperCircle.PaintOverFigure(newColor); Assert.AreEqual(expectedColor, paperCircle.Color); }
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 PaintingPaintedFigureTest() { PaperCircle t_paperCirlce = new PaperCircle(5, Color.blue); t_paperCirlce.Paint(Color.green); t_paperCirlce.Paint(Color.red); }
public void PaintTest() { PaperCircle t_paperCirlce = new PaperCircle(5, Color.blue); t_paperCirlce.Paint(Color.green); Assert.IsTrue(t_paperCirlce.IsColoredAgain); }
public void TestCutShapeFromAnotherShapeWithSmallerAreaMustThrowsException(double smallerRadius, double biggerRadius) { //Cutting shape from another shape is available only for equals materials PaperCircle bigCircle = new PaperCircle(smallerRadius); Assert.ThrowsException <UnableToCutShapeException>(() => new PaperCircle(biggerRadius, bigCircle)); }
public void TestGetPerimeterOfCircle(double radius, double expectedArea) { Circle paperCircle = new PaperCircle(radius); Circle membraneCircle = new MembraneCircle(radius); Assert.AreEqual(expectedArea, paperCircle.GetPerimeter()); Assert.AreEqual(expectedArea, membraneCircle.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 CreatingCircleMustReturnObject(double radius) { Circle paperCircle = new PaperCircle(radius); Circle membraneCircle = new MembraneCircle(radius); Assert.IsNotNull(paperCircle); Assert.IsNotNull(membraneCircle); }
public void RecolorFigure_WhenFigureIsRecolorNotForFirstTime_GetArgumentException() { var radiusPaperCircle = 5; var circle = new PaperCircle(radiusPaperCircle, Color.Blue); circle.RecolorFigure(Color.Green); circle.RecolorFigure(Color.Red); }
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 Test_GetArea() { var radiusPaperCircle = 5; var circle = new PaperCircle(radiusPaperCircle, Color.Blue); double result = circle.GetArea(); var actualResult = 78.5398163; Assert.AreEqual(result, actualResult, 0.0000001); }
public void Test_GetPerimeter() { var radiusPaperCircle = 5; var circle = new PaperCircle(radiusPaperCircle, Color.Blue); double result = circle.GetPerimeter(); var actualResult = 31.4159265; Assert.AreEqual(result, actualResult, 0.0000001); }
public void TestReaplaceAtInvalidDatatinBox(double radius, double newRadius, int index) { Box box = new Box(); Circle firstCircle = new MembraneCircle(radius); box.AddShape(firstCircle); Circle secondCircle = new PaperCircle(newRadius); Assert.ThrowsException <ArgumentOutOfRangeException>(() => box.ReplaceAt(index, secondCircle)); }
public void Equals_TwoRectangle_Equals() { var actual = new PaperCircle(12, Color.Green); // act var expected = new PaperCircle(12, Color.Green); // assert; Assert.Equal(expected, actual); }
public void GetArea_NewRectangle_GetArea() { var actual = 452.3893421169302; // act var expected = new PaperCircle(12, Color.Green); // assert; Assert.Equal(expected.GetArea(), actual); }
public void GetPerimeter_NewRectangle_GetPerimeter() { var actual = 75.39822368615503; // act var expected = new PaperCircle(12, Color.Green); // assert; Assert.Equal(expected.GetPerimeter(), actual); }
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); }
public void Test_RecolorFigure_ThrowsArgumentException(Type typeException, string exceptionMessage, Color colorBlue, Color colorGreen, Color colorRed) { var radius = 5; var circle = new PaperCircle(radius, Color.Blue); circle.RecolorFigure(Color.Green); Assert.That(() => circle.RecolorFigure(Color.Red), Throws.ArgumentException.With.Message.EqualTo(exceptionMessage)); }