Wrap text
Report abuse
using DynamicXMLReader;
using NUnit.Framework;
namespace DynamicXMLReaderTests
{
[TestFixture]
public class DynamicXmlReaderTests
{
[Test]
public void CanReadOneLevelAttributeAsProperty()
{
const string someXml = "<name first=\"Aaron\" />";
dynamic dynamicReader = DynamicXmlReader.Parse(someXml);
Assert.AreEqual("Aaron", dynamicReader.Name.First);
}
[Test]
public void CanReadTwoLevelElementAsProperty()
{
const string someXml
= "<name first=\"Aaron\" last=\"Erickson\"><age>37</age><book>The Nomadic Developer</book><book>Professional F#></book></name>";
dynamic dynamicReader = DynamicXmlReader.Parse(someXml);
Assert.AreEqual(37, int.Parse(dynamicReader.Name.Age));
}
[Test]
public void CanReadTheSecondBook()
{
const string someXml
= "<name first=\"Aaron\" last=\"Erickson\"><age>37</age><book>The Nomadic Developer</book><book>Professional F#</book></name>";
dynamic dynamicReader = DynamicXmlReader.Parse(someXml);
Assert.AreEqual("Professional F#", dynamicReader.Name.Book[1]);
}
[Test]
public void CanReadTheFirstBooksSubTitleTitle()
{
const string someXml
= "<name first=\"Aaron\" last=\"Erickson\"><age>37</age><book><title>The Nomadic Developer</title><subtitle>Surviving in consulting</subtitle></book><book>Professional F#</book></name>";
dynamic dynamicReader = DynamicXmlReader.Parse(someXml);
Assert.AreEqual("Surviving in consulting", dynamicReader.Name.Book[0].Subtitle);
}
}
}