public void MultiPropertyWriterTest() { var srw = SetupStringReplaceWriter("PatternClassName", new[] { "NewClassString1", "NewClassString2" }); var implPatternPropNode = SyntaxTreeHelper.GetPropertyImplSyntax("object", "PatternClassName"); var generatedProperties = NodeWriterHelper.WriteAndAssertMultiMemberOfType <PropertyDeclarationSyntax>(srw, implPatternPropNode); Assert.Equal(2, generatedProperties.Count); Assert.Equal("NewClassString1", generatedProperties[0].Identifier.Text); Assert.Equal("NewClassString2", generatedProperties[1].Identifier.Text); }
public void MultiPropertyDeclarationWriterTest() { var pw = SetupPropertyWriter(PatternPropType, PatternPropName, (DeclPropType1, DeclPropName1), (DeclPropType2, DeclPropName2)); var implPatternFieldNode = SyntaxTreeHelper.GetFieldSyntax(PatternPropType, PatternFieldName); var generatedFields = NodeWriterHelper.WriteAndAssertMultiMemberOfType <FieldDeclarationSyntax>(pw, implPatternFieldNode); Assert.Equal(2, generatedFields.Count); Assert.Equal(DeclPropType1, generatedFields[0].Declaration.Type.ToString()); var v1 = Assert.Single(generatedFields[0].Declaration.Variables); Assert.Equal(DeclFieldName1, v1.Identifier.ValueText); Assert.Equal(DeclPropType2, generatedFields[1].Declaration.Type.ToString()); var v2 = Assert.Single(generatedFields[1].Declaration.Variables); Assert.Equal(DeclFieldName2, v2.Identifier.ValueText); }
public void GenericTypeParameterFieldPropertyWriterTest() { var itfType = "IList<IPatternType>"; var declType = "IList<IDeclType>"; var patternFieldType = "AnyImplType<IPatternType>"; var expectedFieldType = "AnyImplType<IDeclType>"; var pw = SetupPropertyWriter( itfType, PatternPropName, TypeParamExtract, (declType, DeclPropName1)); var implPatternFieldNode = SyntaxTreeHelper.GetFieldSyntax(patternFieldType, PatternFieldName); var generatedFields = NodeWriterHelper.WriteAndAssertMultiMemberOfType <FieldDeclarationSyntax>(pw, implPatternFieldNode); var field = Assert.Single(generatedFields); Assert.Equal(expectedFieldType, field.Declaration.Type.ToString()); }