public void PropertyTypeWriterTest(string patternImplFieldType, string expectedGeneratedFieldName) { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternFieldNode = SyntaxTreeHelper.GetFieldSyntax(patternImplFieldType, PatternFieldName); var generatedField = NodeWriterHelper.WriteAndAssertSingleMemberOfType <FieldDeclarationSyntax>(pw, implPatternFieldNode); Assert.Equal(expectedGeneratedFieldName, generatedField.Declaration.Type.ToString()); }
public void SimplePropertyWriterTest(string type, string name, string genType, string genName) { var srw = SetupStringReplaceWriter("PatternClassName", "NewClassString"); var implPatternPropNode = SyntaxTreeHelper.GetPropertyImplSyntax(type, name); var generatedProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <PropertyDeclarationSyntax>(srw, implPatternPropNode); Assert.Equal(genName, generatedProperty.Identifier.Text); Assert.Equal(genType, generatedProperty.Type.ToString()); }
public void SimpleFieldWriterTest(string patternFieldName, string expectedImplPropName) { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternPropNode = SyntaxTreeHelper.GetFieldSyntax(PatternPropType, patternFieldName); var fieldProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <FieldDeclarationSyntax>(pw, implPatternPropNode); Assert.Equal(expectedImplPropName, fieldProperty.Declaration.Variables.Single().Identifier.Text); Assert.Equal(DeclPropType1, fieldProperty.Declaration.Type.ToString()); }
public void SimplePropertyWriterTest() { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternPropNode = SyntaxTreeHelper.GetPropertyImplSyntax(PatternPropType, PatternPropName); var generatedProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <PropertyDeclarationSyntax>(pw, implPatternPropNode); Assert.Equal(DeclPropName1, generatedProperty.Identifier.Text); Assert.Equal(DeclPropType1, generatedProperty.Type.ToString()); }
public void PropertyWithAccessorsWriterTest(string patternFieldName, string implPropName) { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternPropNode = SyntaxTreeHelper.GetPropertyImplSyntax(PatternPropType, PatternPropName, patternFieldName); var generatedProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <PropertyDeclarationSyntax>(pw, implPatternPropNode); Assert.Equal(DeclPropName1, generatedProperty.Identifier.Text); Assert.Equal(DeclPropType1, generatedProperty.Type.ToString()); Assert.Contains(implPropName, generatedProperty.AccessorList.ToFullString(), StringComparison.InvariantCulture); Assert.DoesNotContain(patternFieldName, generatedProperty.AccessorList.ToFullString(), StringComparison.InvariantCulture); }
public void SimpleVariableStatementWriterTest(string patternVariableName, string implPropName) { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternVariableNode = SyntaxTreeHelper.GetLocalDeclarationStatementSyntax( PatternPropType, $"{patternVariableName}Version", $"this.{patternVariableName}.Version"); var variableProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <FieldDeclarationSyntax>( pw, implPatternVariableNode); Assert.Equal($"{implPropName}Version", variableProperty.Declaration.Variables.Single().Identifier.Text); Assert.Equal($"this.{implPropName}.Version", variableProperty.Declaration.Variables.Single().Initializer.Value.ToString()); }
public void SimpleMethodWriterTest( string patternMethodName, string patternMethodArgumentName, string expectedImplMethodName, string expectedArgName) { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternMethodNode = SyntaxTreeHelper.GetMethodSyntax(PatternPropType, patternMethodName, patternMethodArgumentName, ", string otherArg"); var methodProperty = NodeWriterHelper.WriteAndAssertSingleMemberOfType <MethodDeclarationSyntax>(pw, implPatternMethodNode); Assert.Equal(expectedImplMethodName, methodProperty.Identifier.Text); Assert.Equal(expectedArgName, methodProperty.ParameterList.Parameters.First().Identifier.Text); Assert.Equal(DeclPropType1, methodProperty.ReturnType.ToString()); }
public void ExpressionBodyPropertyWriterTest() { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1)); var implPatternPropNode = SyntaxTreeHelper.GetExpressionBodyPropertyImplSyntax( PatternPropType, PatternPropName, $"this.{PatternFieldName}"); var generatedProperty = NodeWriterHelper .WriteAndAssertSingleMemberOfType <PropertyDeclarationSyntax>(pw, implPatternPropNode); Assert.Equal(DeclPropName1, generatedProperty.Identifier.Text); Assert.Equal(DeclPropType1, generatedProperty.Type.ToString()); Assert.NotNull(generatedProperty.ExpressionBody); Assert.Equal($"=> this.{DeclFieldName1}", generatedProperty.ExpressionBody.ToString()); }