public virtual void ParseAndProcessSuccessTest() { String name = "minimal"; FileStream fis = new FileStream(sourceFolder + name + ".svg", FileMode.Open, FileAccess.Read); IDictionary <String, ISvgNodeRenderer> map = new Dictionary <String, ISvgNodeRenderer>(); RectangleSvgNodeRenderer rect = new RectangleSvgNodeRenderer(); rect.SetAttribute("fill", "none"); rect.SetAttribute("stroke", "black"); rect.SetAttribute("width", "500"); rect.SetAttribute("height", "400"); ISvgNodeRenderer root = new SvgTagSvgNodeRenderer(); root.SetAttribute("xmlns", "http://www.w3.org/2000/svg"); root.SetAttribute("version", "1.1"); root.SetAttribute("width", "500"); root.SetAttribute("height", "400"); ISvgProcessorResult expected = new SvgProcessorResult(map, root, new FontProvider(), new FontSet()); ISvgProcessorResult actual = SvgConverter.ParseAndProcess(fis); //TODO(RND-868): remove below checks NUnit.Framework.Assert.AreEqual(typeof(SvgTagSvgNodeRenderer), actual.GetRootRenderer().GetType()); NUnit.Framework.Assert.AreEqual(0, actual.GetNamedObjects().Count); NUnit.Framework.Assert.AreEqual("500", actual.GetRootRenderer().GetAttribute("width")); }
public virtual void DeepCopyTest() { //Deep copy of tree with nested svg and group and set attributes UseSvgNodeRenderer nestedUse = new UseSvgNodeRenderer(); nestedUse.SetAttribute(SvgConstants.Attributes.HREF, "#c1"); GroupSvgNodeRenderer nestedGroup = new GroupSvgNodeRenderer(); nestedGroup.SetAttribute(SvgConstants.Attributes.FILL, "blue"); nestedGroup.AddChild(nestedUse); CircleSvgNodeRenderer nestedCircle = new CircleSvgNodeRenderer(); nestedCircle.SetAttribute(SvgConstants.Attributes.R, "100"); SvgTagSvgNodeRenderer nestedSvg = new SvgTagSvgNodeRenderer(); nestedSvg.SetAttribute(SvgConstants.Attributes.X, "200"); nestedSvg.SetAttribute(SvgConstants.Attributes.Y, "200"); nestedSvg.SetAttribute(SvgConstants.Attributes.XMLNS, SvgConstants.Values.SVGNAMESPACEURL); nestedSvg.SetAttribute(SvgConstants.Attributes.VERSION, SvgConstants.Values.VERSION1_1); nestedSvg.AddChild(nestedCircle); nestedSvg.AddChild(nestedGroup); RectangleSvgNodeRenderer nestedRectangle = new RectangleSvgNodeRenderer(); nestedRectangle.SetAttribute(SvgConstants.Attributes.WIDTH, "100"); nestedRectangle.SetAttribute(SvgConstants.Attributes.HEIGHT, "50"); GroupSvgNodeRenderer topGroup = new GroupSvgNodeRenderer(); topGroup.SetAttribute(SvgConstants.Attributes.FILL, "red"); topGroup.AddChild(nestedRectangle); CircleSvgNodeRenderer topCircle = new CircleSvgNodeRenderer(); topCircle.SetAttribute(SvgConstants.Attributes.R, "80"); topCircle.SetAttribute(SvgConstants.Attributes.X, "100"); topCircle.SetAttribute(SvgConstants.Attributes.Y, "100"); topCircle.SetAttribute(SvgConstants.Attributes.STROKE, "red"); topCircle.SetAttribute(SvgConstants.Attributes.FILL, "green"); SvgTagSvgNodeRenderer topSvg = new SvgTagSvgNodeRenderer(); topSvg.SetAttribute(SvgConstants.Attributes.WIDTH, "800"); topSvg.SetAttribute(SvgConstants.Attributes.HEIGHT, "800"); topSvg.SetAttribute(SvgConstants.Attributes.XMLNS, SvgConstants.Values.SVGNAMESPACEURL); topSvg.SetAttribute(SvgConstants.Attributes.VERSION, SvgConstants.Values.VERSION1_1); topSvg.AddChild(topCircle); topSvg.AddChild(topGroup); EllipseSvgNodeRenderer ellipse = new EllipseSvgNodeRenderer(); ellipse.SetAttribute(SvgConstants.Attributes.CX, "10"); ellipse.SetAttribute(SvgConstants.Attributes.CY, "20"); ellipse.SetAttribute(SvgConstants.Attributes.RX, "30"); ellipse.SetAttribute(SvgConstants.Attributes.RX, "40"); topSvg.AddChild(ellipse); ISvgNodeRenderer copy = topSvg.CreateDeepCopy(); NUnit.Framework.Assert.AreEqual(topSvg, copy); }