From: Owen R. <exo...@us...> - 2004-11-15 05:59:07
|
Update of /cvsroot/netreflector/NetReflector/src/NetReflector.Test/Generators In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10946/src/NetReflector.Test/Generators Added Files: XmlDocumentationGeneratorTest.cs Log Message: moved XmlDocumentationGenerator and Test to Generators folder --- NEW FILE: XmlDocumentationGeneratorTest.cs --- using System.IO; using System.Reflection; using System.Xml; using Exortech.NetReflector.Generators; using NUnit.Framework; namespace Exortech.NetReflector.Test.Generators { [TestFixture] public class XmlDocumentationGeneratorTest { [Test] public void ShouldProduceXmlDocumentationOfReflectorTypes() { NetReflectorTypeTable table = new NetReflectorTypeTable(); table.Add(typeof (TestClass)); StringWriter writer = new StringWriter(); XmlDocumentationGenerator generator = new XmlDocumentationGenerator(table, new XmlMemberDocumentationGeneratorExtension()); generator.Write(writer); string expectedXml = @"<?xml version=""1.0"" encoding=""utf-16""?><netreflector><reflectortype><name>TestClass</name><namespace>Exortech.NetReflector.Test</namespace><reflectorName>reflectTest</reflectorName>" + "<description>Class used for unit testing NetReflector.</description></reflectortype></netreflector>"; Assert.AreEqual(expectedXml, writer.ToString()); } [Test] public void ShouldProduceXmlDocumentationOfReflectorTypesButNotIncludeEmptyDescriptions() { NetReflectorTypeTable table = new NetReflectorTypeTable(); table.Add(typeof (TestSubClass)); StringWriter writer = new StringWriter(); XmlDocumentationGenerator generator = new XmlDocumentationGenerator(table, new XmlMemberDocumentationGeneratorExtension()); generator.Write(writer); string expectedXml = @"<?xml version=""1.0"" encoding=""utf-16""?><netreflector><reflectortype><name>TestSubClass</name><namespace>Exortech.NetReflector.Test</namespace><reflectorName>sub</reflectorName></reflectortype></netreflector>"; Assert.AreEqual(expectedXml, writer.ToString()); } [Test] public void ShouldProduceDocumentationForTypeMembers() { StringWriter writer = new StringWriter(); XmlMemberDocumentationGenerator generator = new XmlMemberDocumentationGenerator(); generator.Write(new XmlTextWriter(writer), new IXmlMemberSerialiser[] {CreateSerialiser("Name"), CreateSerialiser("Count")}); string expectedXml = @"<members><member><name>Name</name><reflectorName>name</reflectorName><description>name of the test class</description><required>True</required></member>" + "<member><name>Count</name><reflectorName>count</reflectorName><required>True</required></member></members>"; Assert.AreEqual(expectedXml, writer.ToString()); } private IXmlMemberSerialiser CreateSerialiser(string name) { MemberInfo member = typeof (TestClass).GetMember(name)[0]; return (IXmlMemberSerialiser) ReflectorPropertyAttribute.GetAttribute(member).CreateSerialiser(member); } private class XmlMemberDocumentationGeneratorExtension : XmlMemberDocumentationGenerator { public override void Write(XmlWriter writer, IXmlMemberSerialiser[] memberSerialisers) { // do nothing } } } } |