public void WritingByXmtTextWriterAndReadingByStreamReaderTest() { string path = @"..\..\..\..\epam_task_3.1\Res\NewPaperBox11.xml"; FileWriter writer = new FileWriter(); Material material = Material.paper; 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 PaperCircle(5, Color.red); ex_box[1] = new PaperRectangle(1, 1, 1, 1, Color.red); ex_box[2] = new PaperTriangle(1, 1, 1, Color.red); CollectionAssert.AreEqual(ex_box.Items, r_box.Items); }
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 GetPerimeter_NewRectangle_GetPerimeter() { var actual = 75.39822368615503; // act var expected = new FilmCircle(12); // assert; Assert.Equal(expected.GetPerimeter(), actual); }
public void GetArea_NewRectangle_GetArea() { var actual = 452.3893421169302; // act var expected = new FilmCircle(12); // assert; Assert.Equal(expected.GetArea(), actual); }
public void Equals_TwoRectangle_Equals() { var actual = new FilmCircle(12); // act var expected = new FilmCircle(12); // assert; Assert.Equal(expected, actual); }
public void FilmCircle_CutFigureSmallerOriginal_PositiveTestResult(double circleRadius, double rectangleFirstSide, double rectangleSecondSide) { FilmRectangle filmRectangle = new FilmRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }); FilmCircle expectedFilmCircle = new FilmCircle(circleRadius, filmRectangle); FilmCircle actualFilmCircle = new FilmCircle(circleRadius); Assert.AreEqual(expectedFilmCircle, actualFilmCircle); }
public void FilmCircleCreation3() { double t_r = 5421; FilmCircle t_filmCircle = new FilmCircle(t_r); double ex_r = 5421; FilmCircle ex_filmCircle = new FilmCircle(ex_r); Assert.IsTrue(ex_filmCircle.Equals(t_filmCircle)); }
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)); }
/// <summary> /// Parses Object as a Xml Element /// </summary> /// <param name="writer"></param> /// <param name="paperCircle"></param> public void ParseFilmCircleAsXmlNode(StreamWriter writer, FilmCircle filmCircle) { try { writer.WriteLine("\t<FilmCircle>"); writer.WriteLine("\t\t<R>{0}</R>", filmCircle.R); writer.WriteLine("\t</FilmCircle>"); } catch (Exception ex) { throw ex; } }
/// <summary> /// Parses Object as a Xml Element /// </summary> /// <param name="writer"></param> /// <param name="paperCircle"></param> public void ParseFilmCircleAsXmlNode(XmlTextWriter writer, FilmCircle filmCircle) { try { writer.WriteStartElement(nameof(FilmCircle)); writer.WriteElementString(nameof(FilmCircle.R), filmCircle.R.ToString()); writer.WriteEndElement(); } catch (Exception ex) { throw ex; } }
public void CreateNewFigire_NewAreaLessOldArea_CreateNewFigire() { var filmCircle = new FilmCircle(13); var actual = new FilmSquare(new List <double> { 5 }); // act var expected = new FilmSquare(filmCircle, new List <double> { 5 }); // assert; Assert.Equal(expected, actual); }
public void GetActualBoxSize() { 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); int ex_size = 6; Assert.AreEqual(ex_size, t_box.Size); }
public void FilmTriangleIntoCircleConvertion2() { double t_a = 6; double t_b = 8; double t_c = 10; FilmTriangle t_triangle = new FilmTriangle(t_a, t_b, t_c); double r = 2; FilmCircle t_circle = new FilmCircle(r, t_triangle); double ex_r = 2; FilmCircle ex_circle = new FilmCircle(ex_r); Assert.IsTrue(ex_circle.Equals(t_circle)); }
public void AddFigure_BoxIsClear_AddNewFigure() { // arrange var figures = new IFigure[20]; 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 FilmTriangleIntoCircleConvertion1() { double t_a = 4; double t_b = 5; double t_c = 3; FilmTriangle t_triangle = new FilmTriangle(t_a, t_b, t_c); double r = 0.4; FilmCircle t_circle = new FilmCircle(r, t_triangle); double ex_r = 0.4; FilmCircle ex_circle = new FilmCircle(ex_r); Assert.IsTrue(ex_circle.Equals(t_circle)); }
public void FilmRectangleIntoCircleConverstion3() { double t_a = 15; double t_b = 15; double t_c = 15; double t_d = 15; FilmRectangle t_rectangle = new FilmRectangle(t_a, t_b, t_c, t_d); double t_r = 3; FilmCircle t_circle = new FilmCircle(t_r, t_rectangle); double ex_r = 3; FilmCircle ex_circle = new FilmCircle(ex_r); Assert.IsTrue(ex_circle.Equals(t_circle)); }
public void TakeFigure() { 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); Figure takenFigure = t_box.Take(2); Box ex_box = new Box(); ex_box[0] = new PaperCircle(5, Color.red); ex_box[1] = new FilmRectangle(1, 1, 1, 1); ex_box[2] = new FilmCircle(5); CollectionAssert.AreEqual(ex_box.Items, t_box.Items); }
public void Reading4() { string path = @"..\..\..\..\epam_task_3.1\Box.xml"; Box boxTest = new Box(); FileReader fileExtensions = new FileReader(); boxTest = fileExtensions.ReadXmlByXmlTextReader(path); Box boxToAssure = new Box(); boxToAssure[0] = new PaperCircle(5, Color.red); boxToAssure[1] = new PaperCircle(1, Color.red); boxToAssure[2] = new PaperRectangle(1, 1, 1, 1, Color.red); boxToAssure[3] = new PaperTriangle(1, 1, 1, Color.red); boxToAssure[4] = new FilmCircle(5); Assert.IsTrue(boxToAssure[4].Equals(boxTest[4])); }
public void FilmCircleIntoTriangleConverstion3() { double t_r = 100; FilmCircle t_filmCircle = new FilmCircle(t_r); double t_a = 10; double t_b = 5; double t_c = 10; FilmTriangle t_filmTriangle = new FilmTriangle(t_a, t_b, t_c); double ex_a = 10; double ex_b = 5; double ex_c = 10; FilmTriangle ex_filmTriangle = new FilmTriangle(ex_a, ex_b, ex_c); Assert.IsTrue(ex_filmTriangle.Equals(t_filmTriangle)); }
public void GetFilmFigures() { 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); List <Figure> t_circles = new List <Figure>(); t_circles = t_box.GetFilmFigures(); List <Figure> ex_circles = new List <Figure> { new FilmRectangle(1, 1, 1, 1), new FilmCircle(5) }; CollectionAssert.AreEqual(ex_circles, t_circles); }
public void WritingByStreamWriterAndReadingByStreamReaderTest4() { string path = @"..\..\..\..\epam_task_3.1\Res\NewBox4.xml"; FileWriter writer = new FileWriter(); 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); writer.WriteFiguresByStreamWriter(t_box, path); FileReader reader = new FileReader(); Box r_box = reader.ReadXmlByStreamReader(path); CollectionAssert.AreEqual(t_box.Items, r_box.Items); }
public void GetFilmFIgure_FigureIsInBox_GetFilmFIgure() { // 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 FilmRectangle(new List <double> { 4, 6 }); figures[3] = new FilmTriangle(new List <double> { 3, 4, 5 }); figures[4] = new PaperCircle(3, Color.Green); figures[5] = new FilmSquare(new List <double> { 5 }); figures[6] = new FilmCircle(6); var actualFigures = new List <IFigure>(); actualFigures.Add(new FilmRectangle(new List <double> { 4, 6 })); actualFigures.Add(new FilmTriangle(new List <double> { 3, 4, 5 })); actualFigures.Add(new FilmSquare(new List <double> { 5 })); actualFigures.Add(new FilmCircle(6)); var expected = new Box(figures); // assert; Assert.Equal(expected.GetAllFilmFigures(), actualFigures); }
public void FilmCircleIntoRectangleConverstion2() { double t_r = 25; FilmCircle t_filmCircle = new FilmCircle(t_r); double t_a = 1; double t_b = 4; double t_c = 1; double t_d = 4; FilmRectangle t_filmRectangle = new FilmRectangle(t_a, t_b, t_c, t_d); double ex_a = 1; double ex_b = 4; double ex_c = 1; double ex_d = 4; FilmRectangle ex_filmRectangle = new FilmRectangle(ex_a, ex_b, ex_c, ex_d); Assert.IsTrue(ex_filmRectangle.Equals(t_filmRectangle)); }
public void SetFigure() { 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); FilmTriangle ex_circle = new FilmTriangle(1, 1, 1); t_box.Set(1, ex_circle); Box ex_box = new Box(); ex_box[0] = new PaperCircle(5, Color.red); ex_box[1] = new FilmTriangle(1, 1, 1); ex_box[2] = new PaperTriangle(1, 1, 1, Color.red); ex_box[3] = new FilmCircle(5); CollectionAssert.AreEqual(ex_box.Items, t_box.Items); }
public void ShowByNumber_FigureIsInBox_ShowFigure() { // arrange var figures = new IFigure[20]; figures[0] = new FilmRectangle(new List <double> { 4, 6 }); figures[1] = new FilmTriangle(new List <double> { 3, 4, 5 }); figures[2] = new FilmCircle(3); figures[3] = new FilmSquare(new List <double> { 5 }); var actualResult = figures[1]; var expectedBox = new Box(figures); // act var expected = expectedBox.ShowByNumber(1); // assert; Assert.Equal(expected, actualResult); }
public void GetArea_PositiveTestResult(double circleRadius, double expectedArea) { FilmCircle filmCircle = new FilmCircle(circleRadius); Assert.AreEqual(expectedArea, filmCircle.GetArea()); }
/// <summary> /// Method reads figures from an xml file using StreamReader. /// </summary> /// <param name="path">path</param> /// <returns>IFigure[]</returns> public static IFigure[] GetFromFile(string path) { var figures = new IFigure[_sizeArray]; var sides = new List <double>(); object color = null; string material = null; string figureName = null; string content = null; double radius = 0; int count = 0; string patternMaterial = @"(Paper|Film)([A-z]*)"; string patternNumber = @"(\d+|\d.+)\<"; string patternColor = @">([A-z]*)<"; var regex = new Regex(patternMaterial); using (var streamReader = new StreamReader(path)) { while ((content = streamReader.ReadLine()) != null) { if (!Enum.TryParse(typeof(FigureType), content.Trim('<', '>', '/', '\t', ' '), out object figureType)) { continue; } regex = new Regex(patternMaterial); foreach (Match match in regex.Matches(figureType.ToString())) { material = match.Groups[1].Value; figureName = match.Groups[2].Value; } content = streamReader.ReadLine(); regex = new Regex(patternNumber); if (figureName != _circleFigure) { foreach (Match match in regex.Matches(content)) { sides = match.Groups[1].Value.Split(' ').Select(obj => double.Parse(obj)).ToList(); } } else { foreach (Match match in regex.Matches(content)) { double.TryParse(match.Groups[1].Value, out radius); } } if (material == _paperMaterial) { content = streamReader.ReadLine(); regex = new Regex(patternColor); foreach (Match match in regex.Matches(content)) { color = Enum.Parse(typeof(Color), match.Groups[1].Value); } } switch (figureType) { case FigureType.PaperCircle: figures[count] = new PaperCircle(radius, (Color)color); break; case FigureType.PaperRectangle: figures[count] = new PaperRectangle(sides, (Color)color); break; case FigureType.PaperSquare: figures[count] = new PaperSquare(sides, (Color)color); break; case FigureType.PaperTriangle: figures[count] = new PaperTriangle(sides, (Color)color); break; case FigureType.FilmCircle: figures[count] = new FilmCircle(radius); break; case FigureType.FilmRectangle: figures[count] = new FilmRectangle(sides); break; case FigureType.FilmSquare: figures[count] = new FilmSquare(sides); break; case FigureType.FilmTriangle: figures[count] = new FilmTriangle(sides); break; default: break; } count++; if (count == figures.Length - 1) { return(figures); } content = streamReader.ReadLine(); } } return(figures); }
public void FilmCircle_CutFigureBiggerOriginal_OutOfAreaException(double firstCircleRadius, double secondCircleRadius) { FilmCircle filmCircle = new FilmCircle(firstCircleRadius); Assert.ThrowsException <OutOfAreaException>(() => new FilmCircle(secondCircleRadius, filmCircle)); }
/// <summary> /// Method reads figures from an xml file using XmlReader. /// </summary> /// <param name="path">path</param> /// <returns>IFigure[]</returns> public static IFigure[] GetFromFile(string path) { var figures = new IFigure[_sizeArray]; var sides = new List <double>(); using var xmlReader = new XmlTextReader(path); object color = null; string material = null; string figureName = null; double radius = 0; int count = 0; string patternMaterial = @"(Paper|Film)([A-z]*)"; string patternNumber = @"(\d+|\d.+)\<"; var regex = new Regex(patternNumber); while (xmlReader.Read()) { if (!Enum.TryParse(typeof(FigureType), xmlReader.Name, out object figureType)) { continue; } regex = new Regex(patternMaterial); foreach (Match match in regex.Matches(figureType.ToString())) { material = match.Groups[1].Value; figureName = match.Groups[2].Value; } xmlReader.Read(); xmlReader.Read(); if (figureName != _circleFigure) { sides = new List <double>(); if ((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == nameof(IPolygonFigure.Sides))) { sides = xmlReader.ReadElementString().Split(' ').Select(obj => double.Parse(obj)).ToList(); } } else if ((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == nameof(ICircle.Radius))) { radius = double.Parse(xmlReader.ReadElementString()); } if (material == _paperMaterial) { xmlReader.Read(); if ((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == nameof(IPaper.Color))) { color = Enum.Parse(typeof(Color), xmlReader.ReadElementString()); } } switch (figureType) { case FigureType.PaperCircle: figures[count] = new PaperCircle(radius, (Color)color); break; case FigureType.PaperRectangle: figures[count] = new PaperRectangle(sides, (Color)color); break; case FigureType.PaperSquare: figures[count] = new PaperSquare(sides, (Color)color); break; case FigureType.PaperTriangle: figures[count] = new PaperTriangle(sides, (Color)color); break; case FigureType.FilmCircle: figures[count] = new FilmCircle(radius); break; case FigureType.FilmRectangle: figures[count] = new FilmRectangle(sides); break; case FigureType.FilmSquare: figures[count] = new FilmSquare(sides); break; case FigureType.FilmTriangle: figures[count] = new FilmTriangle(sides); break; } count++; if (count == figures.Length - 1) { return(figures); } xmlReader.Read(); } return(figures); }
public void GetPerimeter_PositiveTestResult(double circleRadius, double expectedPerimter) { FilmCircle filmCircle = new FilmCircle(circleRadius); Assert.AreEqual(expectedPerimter, filmCircle.GetPerimeter()); }