Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
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); } } }
This paste will be private.
From the Design Piracy series on my blog: