/// <summary> /// Read method through XmlReader /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static List <IFigure> XmlRead(String filePath) { List <IFigure> figures = new List <IFigure>(); XmlReader reader = XmlReader.Create(filePath); while (reader.Read()) { if (reader.Name == "material") { String value = reader.ReadInnerXml(); switch (value) { case "Paper": FiguresAdd(reader, figures, Material.Paper); reader.Read(); Paints paint = (Paints)int.Parse(reader.ReadInnerXml()); PaintBrush.PaintFigure(figures[figures.Count - 1], paint); break; case "Film": FiguresAdd(reader, figures, Material.Film); break; } } } reader.Close(); return(figures); }
/// <summary> /// Read method through StreamReadr /// </summary> /// <param name="filePath"></param> /// <returns></returns> public static List <IFigure> StreamRead(string filePath) { List <IFigure> figures = new List <IFigure>(); StreamReader stream = new StreamReader(filePath); XDocument document = XDocument.Load(stream); XElement xRoot = document.Element("figures"); foreach (XElement xe in xRoot.Elements("figure").ToList()) { switch (xe.Element("material").Value) { case "Paper": FiguresAdd(xe, figures, Material.Paper); Paints paint = (Paints)int.Parse(xe.Element("color").Value); PaintBrush.PaintFigure(figures[figures.Count - 1], paint); break; case "Film": FiguresAdd(xe, figures, Material.Film); break; } } stream.Close(); return(figures); }
public void ImpossibleToPaintTest(Material material, params double[] values) { TestDelegate func = delegate { IFigure figure = factory.CreateFigure(material, values); PaintBrush.PaintFigure(figure, Paints.Black); PaintBrush.PaintFigure(figure, Paints.Blue); }; Assert.Catch <ImpossibleToPaintException>(func); }
public void WriteStreamReadStreamPaper() { Box box = InitializeFigures(); box.StreamWritePaper(@"D:\Mega\Learning\Semester5\Training.by\Tasks\Task3\resources\figures.xml"); box = new Box(); box.StreamRead(@"D:\Mega\Learning\Semester5\Training.by\Tasks\Task3\resources\paperFigures.xml"); IFigure figure = factory.GetFigure(Material.Paper, 7); PaintBrush.PaintFigure(figure, Paints.Azure); Assert.IsTrue(box.GetFigure(1).Equals(figure)); Assert.AreEqual(box.GetFiguresCount(), 3); }
private Box InitializeFigures() { Box box = new Box(); box.AddFigure(factory.GetFigure(Material.Film, 1)); box.AddFigure(factory.GetFigure(Material.Film, 2, 3)); box.AddFigure(factory.GetFigure(Material.Film, 4, 5, 6)); box.AddFigure(factory.GetFigure(Material.Paper, 7)); PaintBrush.PaintFigure(box.GetFigure(box.GetFiguresCount()), Paints.Azure); box.AddFigure(factory.GetFigure(Material.Paper, 8, 9)); PaintBrush.PaintFigure(box.GetFigure(box.GetFiguresCount()), Paints.Orange); box.AddFigure(factory.GetFigure(Material.Paper, 10, 11, 12)); PaintBrush.PaintFigure(box.GetFigure(box.GetFiguresCount()), Paints.Pink); return(box); }