コード例 #1
0
        public static Assignment AsAssignment(HElement element)
        {
            var name  = element.Descendants("b").First().Value;
            var parts = element.Attribute("href").Value.Split("(),".ToCharArray());

            var assignment = new Assignment {
                Name         = name,
                CourseId     = parts[1],
                AssignmentId = parts[3]
            };

            return(assignment);
        }
コード例 #2
0
ファイル: HElementTest.cs プロジェクト: ygrenier/HDocument
        public void TestAttributes()
        {
            // Attributes are empty
            var elm = new HElement("test");

            Assert.Equal(0, elm.Attributes().Count());
            Assert.Null(elm.Attribute(null));
            Assert.Null(elm.Attribute(""));
            Assert.Null(elm.Attribute(" "));
            Assert.Null(elm.Attribute("attr2"));

            // Adding two attributes
            elm.Add(
                new HAttribute("attr1", "val1"),
                new HAttribute("attr3", "val3")
                );
            Assert.Equal(2, elm.Attributes().Count());
            Assert.Equal(0, elm.Attributes("Attr2").Count());
            Assert.Null(elm.Attribute(null));
            Assert.Null(elm.Attribute(""));
            Assert.Null(elm.Attribute(" "));
            Assert.Null(elm.Attribute("attr2"));

            // Adding a third attribute
            elm.Add(new HAttribute("attr2", "val2"));

            Assert.Equal(3, elm.Attributes().Count());
            Assert.Equal(1, elm.Attributes("Attr2").Count());
            Assert.Null(elm.Attribute(null));
            Assert.Null(elm.Attribute(""));
            Assert.Null(elm.Attribute(" "));
            Assert.NotNull(elm.Attribute("attr2"));
            Assert.NotNull(elm.Attribute("Attr2"));

            // Can't adding an attribute with a name already defined
            var ioex = Assert.Throws <InvalidOperationException>(() => elm.Add(new HAttribute("attr2", "value")));

            Assert.Equal("The attribute 'attr2' already defined", ioex.Message);

            // Test adding an attribute already defined in another element
            var otherElement = new HElement("OtherTest");
            var a1           = elm.Attribute("Attr2");

            otherElement.Add(a1);
            var a2 = otherElement.Attribute("attr2");

            Assert.NotSame(a1, a2);
            Assert.Equal(a1.Name, a2.Name);
            Assert.Equal(a1.Value, a2.Value);
        }
コード例 #3
0
        public void TestAttribute()
        {
            var element = new HElement("div");

            // The value is null so the attribute is not created
            element.Attribute("style", null);
            Assert.Null(element.Attribute("Style"));

            // Create the attribute
            element.Attribute("style", "font-size:red");
            Assert.Equal("font-size:red", element.Attribute("Style").Value);

            // Update the attribute
            element.Attribute("style", "font-size:blue");
            Assert.Equal("font-size:blue", element.Attribute("Style").Value);

            // Delete the attribute
            element.Attribute("style", "");
            Assert.Null(element.Attribute("Style"));
        }