public void ReturnsEmptyConstructor_When_MethodBodyIsNull(string filePath, string className, string expected)
        {
            var source          = TextFileReader.ReadFile(filePath);
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator(source);

            var actual = _target.Constructor(className, null, syntaxGenerator);

            Assert.Equal(expected.RemoveWhitespace(), actual.GetText().ToString());
        }
        public void Returns_TargetWithAllDependencies()
        {
            var fieldDeclarationNames = new[] { "_someType", "_someOtherType" };
            var syntaxGenerator       = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var actual = _target.MoqTargetObjectAssignmentExpression(fieldDeclarationNames, "ClassUnderTest", syntaxGenerator);

            var asText = actual.GetText().ToString();

            Assert.Equal("_target=(newClassUnderTest(_someType.Object,_someOtherType.Object))", asText);
        }
        public void Returns_FieldDeclarationsWithCorrectName_ForEach_Parameter(string filePath, string parameterName, string expected)
        {
            var parameterSyntax = SyntaxNodeProvider.GetSyntaxNodeFromFile <ParameterSyntax>(filePath, parameterName);
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var actual = _target.GetGenericFieldDeclaration(parameterSyntax, "Mock", syntaxGenerator);

            var actualTextWithoutSpaces   = actual.GetText().ToString().Replace(" ", "");
            var expectedTextWithoutSpaces = expected.Replace(" ", "");

            Assert.Equal(expectedTextWithoutSpaces, actualTextWithoutSpaces);
        }
        public void ReturnsConstructorWithBody()
        {
            var filePath        = "files.ConstructorGenerator_DocumentWithOneClassAndVariables.txt";
            var source          = TextFileReader.ReadFile(filePath);
            var methodBody      = SyntaxNodeProvider.GetAllSyntaxNodesFromFile <LocalDeclarationStatementSyntax>(filePath);
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator(source);
            var className       = "ClassA";

            var actual = _target.Constructor(className, methodBody, syntaxGenerator);

            Assert.Single(actual.DescendantNodes().OfType <LocalDeclarationStatementSyntax>());
        }
        public void Adds_Using_For_MockingFramework()
        {
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var rhinoMocksUsing = "rhino.mocks";

            var usingDirectives = _target.TestingFrameworkUsingDirectives(new List <string> {
                rhinoMocksUsing
            }, syntaxGenerator);

            Assert.Equal("rhino.mocks", usingDirectives.First().Name.ToString());
        }
        public void Returns_MethodWithAttribute()
        {
            var methodName      = "method";
            var attributeName   = "someAttribute";
            var methodBody      = new List <SyntaxNode>();
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var actual = _target.GenerateMethodWithAttribute(methodName, attributeName, methodBody, syntaxGenerator);
            var asText = actual.GetText().ToString();

            var expected = "[someAttribute]publicvoidmethod(){}";

            Assert.Equal(expected, asText);
        }
        public async Task Adds_Usings_For_All_Parameters(string filePath, string parameterName, string expectedNamespaces)
        {
            var source   = TextFileReader.ReadFile(filePath);
            var document = DocumentProvider.CreateDocument(source);

            var parameterSyntax = SyntaxNodeProvider.GetSyntaxNodeFromDocument <ParameterSyntax>(document, parameterName);
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var semanticModel = await document.GetSemanticModelAsync();

            var usingDirectives = _target.UsingDirectives(semanticModel.Compilation, new[] { parameterSyntax }, new List <string>(), syntaxGenerator);

            Assert.Equal(expectedNamespaces, usingDirectives.First().Name.ToString());
        }
        public void Returns_FieldAssignmentExpression_When_ParameterValuesAreValid()
        {
            var parameterType   = "ISomeType";
            var fieldName       = "_someType";
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var actual =
                _target.RhinoMocksStubAssignmentExpression(parameterType, fieldName, syntaxGenerator);
            var asText = actual.NormalizeWhitespace().ToFullString();

            var expected = "_someType = (MockRepository.GenerateStub<ISomeType>())";

            Assert.Equal(expected, asText);
        }
Exemplo n.º 9
0
        public void Returns_TargetFieldDeclaration()
        {
            var syntaxGenerator = new SyntaxGeneratorProvider().GetSyntaxGenerator();

            var classundertestName = "ClassUnderTest";
            var actual             = _target.GetTargetFieldDeclaration(classundertestName, syntaxGenerator) as FieldDeclarationSyntax;

            var actualTextWithoutSpaces = actual.GetText().ToString().Replace(" ", "");

            var expected = "private readonly ClassUnderTest _target;";
            var expectedTextWithoutSpaces = expected.Replace(" ", "");

            Assert.Equal(expectedTextWithoutSpaces, actualTextWithoutSpaces);
        }