public void FilmTriangleIntoRectangleConvertion2() { double t_a = 65; double t_b = 64; double t_c = 63; Color t_color = Color.red; FilmTriangle t_triangle = new FilmTriangle(t_a, t_b, t_c); double t_a1 = 1; double t_b1 = 2; double t_c1 = 1; double t_d1 = 2; FilmRectangle t_rectangle = new FilmRectangle(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; FilmRectangle ex_rectangle = new FilmRectangle(ex_a, ex_b, ex_c, ex_d); Assert.IsTrue(ex_rectangle.Equals(t_rectangle)); }
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 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 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, double expectedPerimeter) { FilmTriangle actualFilmTriangle = new FilmTriangle(new List <double> { triangleFirstSide, triangleSecondSide, triangleThirdSide }); Assert.AreEqual(expectedPerimeter, actualFilmTriangle.GetPerimeter()); }
public void FilmRectangle_CutFigureBiggerOriginal_OutOfAreaException(double firstTriangleFirstSide, double firstTriangleSecondSide, double firstTriangleThirdSide, double secondTriangleFirstSide, double secondTriangleSecondSide, double secondTriangleThirdSide) { FilmTriangle actualFilmTriangle = new FilmTriangle(new List <double> { firstTriangleFirstSide, firstTriangleSecondSide, firstTriangleThirdSide }); Assert.ThrowsException <OutOfAreaException>(() => new FilmTriangle(new List <double> { secondTriangleFirstSide, secondTriangleSecondSide, secondTriangleThirdSide }, actualFilmTriangle)); }
public void GetPerimeter_NewRectangle_GetPerimeter() { var actual = 11; // act var expected = new FilmTriangle(new List <double> { 2, 4, 5 }); // assert; Assert.Equal(expected.GetPerimeter(), actual); }
public void GetArea_NewRectangle_GetArea() { var actual = 3.799671038392666; // act var expected = new FilmTriangle(new List <double> { 2, 4, 5 }); // assert; Assert.Equal(expected.GetArea(), actual); }
public void Equals_TwoRectangle_Equals() { var actual = new FilmTriangle(new List <double> { 2, 4, 5 }); // act var expected = new FilmTriangle(new List <double> { 2, 4, 5 }); // assert; Assert.Equal(expected, actual); }
public void FilmTriangle_CutFigureSmallerOriginal_PositiveTestResult(double rectangleFirstSide, double rectangleSecondSide, double triangleFirstSide, double triangleSecondSide, double triangleThirdSide) { FilmRectangle filmRectangle = new FilmRectangle(new List <double> { rectangleFirstSide, rectangleSecondSide }); FilmTriangle expectedFilmTriangle = new FilmTriangle(new List <double> { triangleFirstSide, triangleSecondSide, triangleThirdSide }, filmRectangle); FilmTriangle actualFilmTriangle = new FilmTriangle(new List <double> { triangleFirstSide, triangleSecondSide, triangleThirdSide }); Assert.AreEqual(expectedFilmTriangle, actualFilmTriangle); }
public void FilmTriangleCreation3() { double t_a = 6; double t_b = 8; double t_c = 10; FilmTriangle t_triangle = new FilmTriangle(t_a, t_b, t_c); double ex_a = 6; double ex_b = 8; double ex_c = 10; FilmTriangle ex_triangle = new FilmTriangle(ex_a, ex_b, ex_c); Assert.IsTrue(ex_triangle.Equals(t_triangle)); }
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); }
/// <summary> /// Parses Object as a Xml Element /// </summary> /// <param name="writer"></param> /// <param name="paperCircle"></param> public void ParseFilmTriangleAsXmlNode(XmlTextWriter writer, FilmTriangle filmTriangle) { try { writer.WriteStartElement(nameof(FilmTriangle)); writer.WriteElementString(nameof(FilmTriangle.A), filmTriangle.A.ToString()); writer.WriteElementString(nameof(FilmTriangle.B), filmTriangle.B.ToString()); writer.WriteElementString(nameof(FilmTriangle.C), filmTriangle.C.ToString()); writer.WriteEndElement(); } catch (Exception ex) { throw ex; } }
/// <summary> /// Parses Object as a Xml Element /// </summary> /// <param name="writer"></param> /// <param name="paperCircle"></param> public void ParseFilmTriangleAsXmlNode(StreamWriter writer, FilmTriangle filmTriangle) { try { writer.WriteLine("\t<FilmTriangle>"); writer.WriteLine("\t\t<A>{0}</A>", filmTriangle.A); writer.WriteLine("\t\t<B>{0}</B>", filmTriangle.B); writer.WriteLine("\t\t<C>{0}</C>", filmTriangle.C); writer.WriteLine("\t</FilmTriangle>"); } catch (Exception ex) { throw ex; } }
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 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 CreateNewFigire_NewAreaLessOldArea_CreateNewFigire() { var paperTriangle = new FilmTriangle(new List <double> { 12, 14, 15 }); var actual = new FilmSquare(new List <double> { 5 }); // act var expected = new FilmSquare(paperTriangle, new List <double> { 5 }); // assert; Assert.Equal(expected, actual); }
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 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 FilmTriangleIntoRectangleConvertion3() { double t_a = 10; double t_b = 10; double t_c = 10; FilmTriangle t_triangle = new FilmTriangle(t_a, t_b, t_c); double t_a1 = 2; double t_b1 = 5; double t_c1 = 2; double t_d1 = 5; FilmRectangle t_rectangle = new FilmRectangle(t_a1, t_b1, t_c1, t_d1, t_triangle); double ex_a = 2; double ex_b = 5; double ex_c = 2; double ex_d = 5; FilmRectangle ex_rectangle = new FilmRectangle(ex_a, ex_b, ex_c, ex_d); Assert.IsTrue(ex_rectangle.Equals(t_rectangle)); }
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 FilmRectangleIntoTriangleConverstion3() { double t_a = 30; double t_b = 150; double t_c = 30; double t_d = 150; FilmRectangle t_rectangle = new FilmRectangle(t_a, t_b, t_c, t_d); double t_a1 = 2; double t_b1 = 2; double t_c1 = 2; FilmTriangle t_triangle = new FilmTriangle(t_a1, t_b1, t_c1, t_rectangle); double ex_a = 2; double ex_b = 2; double ex_c = 2; FilmTriangle ex_triangle = new FilmTriangle(ex_a, ex_b, ex_c); Assert.IsTrue(ex_triangle.Equals(t_triangle)); }
public void Reading13() { 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); boxToAssure[5] = new FilmRectangle(1, 1, 1, 1); boxToAssure[6] = new FilmTriangle(1, 1, 1); Assert.IsTrue(boxToAssure[6].Equals(boxTest[6])); }
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); }
/// <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); }
/// <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); }