public void Path() { SvgCanvas canvas = new SvgCanvas("test", "2in", "2in"); using (var path = canvas.CreatePath()) { path.MoveTo(2500, 5000); path.LineTo(5000, 4000); path.LineTo(7500, 5000); path.Arc(2500, 2500, 5000, true, false); path.Close(); canvas.Path(path, 0, true, "red"); } var s = canvas.ToSvg(); var document = XDocument.Parse(s); document.Root.Should().HaveElement(Name("path")) .Which .Should() .BeOfType <XElement>() .And.HaveAttribute("d", "M2500,5000 L5000,4000 L7500,5000A2500,2500 0 1,0 2500,5000 z") .And.HaveAttribute("stroke", "none") .And.HaveAttribute("fill", "red") .And.Match(xe => xe.Parent.Name == Name("svg")); }
public void Prefix() { SvgCanvas canvas = new SvgCanvas("test", "2in", "2in"); var s = canvas.ToSvg(); var document = XDocument.Parse(s); document.Root.Name.Should().Be(Name("svg")); document.Root.GetDefaultNamespace().NamespaceName.Should().Be("http://www.w3.org/2000/svg"); document.Root.Should().HaveElement(Name("title")) .Which .Should().HaveValue("test"); }
public void Circle_NotFilled() { SvgCanvas canvas = new SvgCanvas("test", "2in", "2in"); canvas.Circle(1, 2, 3, 4, false, "red"); var s = canvas.ToSvg(); var document = XDocument.Parse(s); document.Root.Should().HaveElement(Name("circle")) .Which .Should() .BeOfType <XElement>() .And.HaveAttribute("cx", "1") .And.HaveAttribute("cy", "2") .And.HaveAttribute("r", "3") .And.HaveAttribute("stroke", "red") .And.HaveAttribute("stroke-width", "4") .And.HaveAttribute("fill", "none") .And.Match(xe => xe.Parent.Name == Name("svg")); }
public void Text() { SvgCanvas canvas = new SvgCanvas("test", "2in", "2in"); canvas.Text(1, 2, 3, "text", "blue"); var s = canvas.ToSvg(); var document = XDocument.Parse(s); document.Root.Should().HaveElement(Name("text")) .Which .Should() .BeOfType <XElement>() .And.HaveAttribute("x", "1") .And.HaveAttribute("y", "2") .And.HaveAttribute("font-size", "3") .And.HaveAttribute("fill", "blue") .And.HaveAttribute("font-family", "Verdana") .And.HaveValue("text") .And.Match(xe => xe.Parent.Name == Name("svg")); }
public void Line() { SvgCanvas canvas = new SvgCanvas("test", "2in", "2in"); canvas.Line(1, 2, 3, 4, 5, "black"); var s = canvas.ToSvg(); var document = XDocument.Parse(s); document.Root.Should().HaveElement(Name("line")) .Which .Should() .BeOfType <XElement>() .And.HaveAttribute("x1", "1") .And.HaveAttribute("y1", "2") .And.HaveAttribute("x2", "3") .And.HaveAttribute("y2", "4") .And.HaveAttribute("stroke", "black") .And.HaveAttribute("stroke-width", "5") .And.Match(xe => xe.Parent.Name == Name("svg")); }