public void AttributeDocumenterDeprecationTest() { var doctest = typeof(AttributeDocumenterTestClass); var documenter = new AttributeDocumenter(doctest, RelevantBindings); Assert.AreEqual(string.Empty, documenter.TypeDeprecationMessage); Assert.AreEqual(string.Empty, documenter.MethodBaseDeprecationMessage(doctest.GetMethod("TestMethod1"))); Assert.AreEqual( "[Deprecated: use TestMethod1 instead]", documenter.MethodBaseDeprecationMessage(doctest.GetMethod("TestMethod2")) ); Assert.AreEqual( "[Deprecated]", documenter.MethodBaseDeprecationMessage(doctest.GetMethod("NullDocMethod")) ); var obsoleteClass = typeof(ObsoleteClass); var documenter2 = new AttributeDocumenter(obsoleteClass, RelevantBindings); Assert.AreEqual("[Deprecated class: use DocTest instead]", documenter2.TypeDeprecationMessage); Assert.AreEqual( "[Deprecated: Overriding obsolete message]", documenter2.MethodBaseDeprecationMessage(obsoleteClass.GetMethod("Method1")) ); Assert.AreEqual(string.Empty, documenter2.MethodBaseDeprecationMessage(obsoleteClass.GetMethod("Method2"))); }
public void AttributeDocumenterDocumentationTest() { var doctest = typeof(AttributeDocumenterTestClass); var documenter = new AttributeDocumenter(doctest, RelevantBindings); Assert.AreEqual("Class documentation", documenter.ConstructorDocumentation(doctest.GetConstructors()[0])); Assert.AreEqual( "TestMethod1 Documentation", documenter.MethodBaseDocumentation(doctest.GetMethod("TestMethod1"))); Assert.AreEqual( "Property1 Documentation", documenter.MethodBaseDocumentation(doctest.GetMethod("get_Property1"))); Assert.IsTrue( string.IsNullOrEmpty(documenter.MethodBaseDocumentation(doctest.GetMethod("set_NoDocProperty"))) ); Assert.IsTrue(string.IsNullOrEmpty(documenter.MethodBaseDocumentation(doctest.GetMethod("NullDocMethod")))); // The only path we're not testing is if the DocumentationProperty doesn't contain a Message property, // which would be a mistake in the definition, so very unlikely in production. It would result in null, so no harm. }