Exemple #1
0
        public void CanLoadRectAttributes()
        {
            // Arrange
            var x      = new SvgLength(6.2f, SvgUnit.Inch);
            var y      = new SvgLength(316, SvgUnit.User);
            var width  = new SvgLength(22, SvgUnit.Em);
            var height = new SvgLength(23, SvgUnit.Centimeter);
            var rx     = new SvgLength(54, SvgUnit.Inch);
            var ry     = new SvgLength(45, SvgUnit.Inch);

            var xml = ElementBuilder.Create("rect")
                      .AddAttribute("x", x.ToString())
                      .AddAttribute("y", y.ToString())
                      .AddAttribute("width", width.ToString())
                      .AddAttribute("height", height.ToString())
                      .AddAttribute("rx", rx.ToString())
                      .AddAttribute("ry", ry.ToString());

            // Act
            var rect = Svg.FromString <SvgRectElement>(xml.ToString());

            // Assert
            rect.X.Should().Be(x);
            rect.Y.Should().Be(y);
            rect.Width.Should().Be(width);
            rect.Height.Should().Be(height);
            rect.RX.Should().Be(rx);
            rect.RY.Should().Be(ry);
        }
Exemple #2
0
        public void CanLoadSample(string samplePath)
        {
            // Arrange
            string content;
            var    assembly = Assembly.GetExecutingAssembly();
            var    cleaned  = samplePath.Replace("-", "_").Replace("/", ".");
            var    path     = "SwishSvg.Tests.Samples." + cleaned;

            using (var stream = assembly.GetManifestResourceStream(path))
            {
                stream.Should().NotBeNull($"{path} should exist");

                using (var reader = new StreamReader(stream))
                {
                    content = reader.ReadToEnd();
                }
            }

            // Act
            var svg = Svg.FromString <SvgSvgElement>(content);

            // Assert
            VerifyNoUnknownElements(svg, "svg");
            VerifyNoExtraAttributes(svg, "svg");
        }
Exemple #3
0
        public void CanLoadElement(string elementName, Type elementType)
        {
            // Arrange
            var xml = $"<{elementName}></{elementName}>";

            // Act
            var elem = Svg.FromString(xml);

            // Assert
            elem.Should().BeOfType(elementType);
        }
Exemple #4
0
        public void CanLoadTitleContent()
        {
            // Arrange
            var content = "Some random text that is not lorem ipsum.";
            var desc    = $"<title>{content}</title>";

            // Act
            var elem = Svg.FromString <SvgTitleElement>(desc);

            // Assert
            elem.Should().BeOfType <SvgTitleElement>();
            elem.Content.Should().Be(content);
        }
Exemple #5
0
        public void CanLoadCircleAttributes()
        {
            // Arrange
            var cx = new SvgLength(6.2f, SvgUnit.Inch);
            var cy = new SvgLength(316, SvgUnit.User);
            var r  = new SvgLength(54, SvgUnit.Inch);

            var xml = ElementBuilder.Create("circle")
                      .AddAttribute("cx", cx.ToString())
                      .AddAttribute("cy", cy.ToString())
                      .AddAttribute("r", r.ToString());

            // Act
            var circle = Svg.FromString <SvgCircleElement>(xml.ToString());

            // Assert
            circle.CX.Should().Be(cx);
            circle.CY.Should().Be(cy);
            circle.R.Should().Be(r);
        }
Exemple #6
0
        public void CanLoadLineAttributes()
        {
            // Arrange
            var x1 = new SvgLength(6.2f, SvgUnit.Inch);
            var y1 = new SvgLength(316, SvgUnit.User);
            var x2 = new SvgLength(54, SvgUnit.Inch);
            var y2 = new SvgLength(45, SvgUnit.Inch);

            var xml = ElementBuilder.Create("line")
                      .AddAttribute("x1", x1.ToString())
                      .AddAttribute("y1", y1.ToString())
                      .AddAttribute("x2", x2.ToString())
                      .AddAttribute("y2", y2.ToString());

            // Act
            var line = Svg.FromString <SvgLineElement>(xml.ToString());

            // Assert
            line.X1.Should().Be(x1);
            line.Y1.Should().Be(y1);
            line.X2.Should().Be(x2);
            line.Y2.Should().Be(y2);
        }
Exemple #7
0
        public void CanLoadEllipseAttributes()
        {
            // Arrange
            var cx = new SvgLength(6.2f, SvgUnit.Inch);
            var cy = new SvgLength(316, SvgUnit.User);
            var rx = new SvgLength(54, SvgUnit.Inch);
            var ry = new SvgLength(45, SvgUnit.Inch);

            var xml = ElementBuilder.Create("ellipse")
                      .AddAttribute("cx", cx.ToString())
                      .AddAttribute("cy", cy.ToString())
                      .AddAttribute("rx", rx.ToString())
                      .AddAttribute("ry", ry.ToString());

            // Act
            var ellipse = Svg.FromString <SvgEllipseElement>(xml.ToString());

            // Assert
            ellipse.CX.Should().Be(cx);
            ellipse.CY.Should().Be(cy);
            ellipse.RX.Should().Be(rx);
            ellipse.RY.Should().Be(ry);
        }