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); }
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); }