public void AsXAttributesMixedProperties() { DateTime now = DateTime.Now; var obj = new { StringProp = "foo", DateTimeProp = now, Int32Prop = 32 }; var map = obj.AsXAttributes().ToDictionary(attr => attr.Name); Assert.AreEqual(3, map.Count); Assert.AreEqual("foo", map["StringProp"].Value); Assert.AreEqual(now, (DateTime)map["DateTimeProp"]); Assert.AreEqual(32, (int)map["Int32Prop"]); }
public void AsXAttributesReturnsEmptyAttributesForNulls() { var obj = new { NullProp = (string)null }; var list = obj.AsXAttributes().ToList(); Assert.AreEqual(1, list.Count); Assert.AreEqual("NullProp", list[0].Name.LocalName); Assert.AreEqual("", list[0].Value); }
public void AsXAttributesConvertsUnderscoresToHyphens() { var obj = new { Separated_Name = "test" }; var map = obj.AsXAttributes().ToDictionary(attr => attr.Name); Assert.AreEqual(1, map.Count); Assert.AreEqual("test", map["Separated-Name"].Value); }