예제 #1
0
        public void TestMethodWithParameterOfGenericType()
        {
            // public static ICollection<TypeElement> FilterTypes(this ITypeContainer typeContainer, Predicate<TypeElement> predicate)
            const string expected =
                "M_IglooCastle.CLI.TypeContainerExtensions.FilterTypes-IglooCastle.CLI.ITypeContainer,System.Predicate`IglooCastle.CLI.TypeElement.html";

            // locate type
            TypeElement targetTypeElement = _documentation.Types.Single(t => t.Member == typeof(TypeContainerExtensions));

            Func<ParameterInfo[], bool> matchTargetMethod =
                parameters => parameters.Length == 2
                    && parameters[0].ParameterType == typeof(ITypeContainer)
                    && parameters[1].ParameterType == typeof(Predicate<TypeElement>);
            MethodElement targetMethod = targetTypeElement.Methods.Single(m => matchTargetMethod(m.Member.GetParameters()));

            FilenameProvider filenameProvider = new FilenameProvider();
            Assert.AreEqual(expected, filenameProvider.Filename(targetMethod));
        }
예제 #2
0
        public void TestMethodWithStringAlias()
        {
            // public string Filename(TypeElement type, string prefix, string suffix)
            const string expected = "M_IglooCastle.CLI.FilenameProvider.Filename-IglooCastle.CLI.TypeElement,string,string.html";

            // locate type
            TypeElement targetTypeElement = _documentation.Types.Single(t => t.Member == typeof(FilenameProvider));

            Func<ParameterInfo[], bool> matchTargetMethod =
                parameters => parameters.Length == 3
                    && parameters[0].ParameterType == typeof(TypeElement)
                    && parameters[1].ParameterType == typeof(string)
                    && parameters[2].ParameterType == typeof(string);
            MethodElement targetMethod = targetTypeElement.Methods.Single(m => matchTargetMethod(m.Member.GetParameters()));

            FilenameProvider filenameProvider = new FilenameProvider();
            Assert.AreEqual(expected, filenameProvider.Filename(targetMethod));
        }
예제 #3
0
 public void TestNamespace()
 {
     const string expected = "N_IglooCastle.CLI.html";
     FilenameProvider filenameProvider = new FilenameProvider();
     Assert.AreEqual(expected, filenameProvider.Filename(_documentation.Namespaces[0]));
 }
예제 #4
0
 /// <summary>
 /// Creates an instance of this class.
 /// </summary>
 /// <remarks>
 /// The <see cref="FilenameProvider"/> and <see cref="TypePrinter"/> are set to default values.
 /// </remarks>
 public Documentation()
 {
     FilenameProvider = new FilenameProvider();
     PrinterFactory = new PrinterFactory(this);
 }