Added matching tests.
public XElement (XName name, object content)
{
+ if (name == null)
+ throw new ArgumentNullException ("name");
this.name = name;
Add (content);
}
public XElement (XElement other)
{
+ if (other == null)
+ throw new ArgumentNullException ("other");
name = other.name;
Add (other.Attributes ());
Add (other.Nodes ());
public XElement (XName name)
{
+ if (name == null)
+ throw new ArgumentNullException ("name");
this.name = name;
}
public XElement (XName name, params object [] content)
{
+ if (name == null)
+ throw new ArgumentNullException ("name");
this.name = name;
Add (content);
}
public XElement (XStreamingElement other)
{
+ if (other == null)
+ throw new ArgumentNullException ("other");
this.name = other.Name;
Add (other.Contents);
}
}
[Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void ConstructorNameNull ()
+ public void Constructor_NullParameters ()
{
- XAttribute a = new XAttribute (null, "v");
-
- }
-
- [Test]
- [ExpectedException (typeof (ArgumentNullException))]
- public void ConstructorValueNull ()
- {
- XAttribute a = new XAttribute (XName.Get ("a"), null);
-
+ AssertThrows<ArgumentNullException>(() => new XAttribute(null, "v"), "#1");
+ AssertThrows<ArgumentNullException>(() => new XAttribute(XName.Get("a"), null), "#2");
+ AssertThrows<ArgumentNullException>(() => new XAttribute((XAttribute) null), "#3");
}
[Test]
[TestFixture]
public class XElementTest
{
+
+ [Test]
+ public void Constructor_NullParameters()
+ {
+ AssertThrows<ArgumentNullException>(() => new XElement((XName)null), "#1");
+ AssertThrows<ArgumentNullException>(() => new XElement((XElement)null), "#2");
+ AssertThrows<ArgumentNullException>(() => new XElement((XStreamingElement)null), "#3");
+ AssertThrows<ArgumentNullException>(() => new XElement((XName)null, null), "#4");
+ AssertThrows<ArgumentNullException>(() => new XElement((XName)null, null, null, null), "#5");
+
+ // This is acceptable though
+ new XElement(XName.Get("foo"), null);
+ }
+
[Test] // xml declaration is skipped.
public void LoadWithXmldecl ()
{