Exemplo n.º 1
0
        protected override IEnumerable <TestMethod> GenerateTestMethodsFor(ConstructorMetadata metadata)
        {
            if (IsDefaultConstructor(metadata.Constructor))
            {
                return(Enumerable.Empty <TestMethod>());
            }

            var methods = new List <TestMethod>();

            foreach (var nullParameter in metadata.Constructor.GetParameters().Where(x => ParameterSatisfied(x)))
            {
                var request = new ConstructorSourceCodeGenerationRequest(metadata.Constructor,
                                                                         metadata.NullArgumentNeedsExplicitCast,
                                                                         metadata.HasMultipleConstructors,
                                                                         nullParameter);
                var sourceCode = sourceCodeGenerator.BuildSourceCode(request);
                var method     = new TestMethod(metadata.Constructor, sourceCodeGenerator.BuildMethodName(request), sourceCode, typeof(ArgumentNullException));
                methods.Add(method);
            }
            return(methods);
        }