public DataAnnoAttributeService(Microsoft.VisualStudio.OLE.Interop.IServiceProvider sp, DataAttributeAdder adder, DataAttributeRemover remover, DataAttributeRewriter rewriter) { _serviceProvider = sp; //TODO: move to an injection _adder = adder; _remover = remover; _rewriter = rewriter; }
public void AddsAttributesWithCorrectOrderWhenAttributesAlreadyExists() { var tree = CSharpSyntaxTree.ParseText(_fixture.LoadTestFile(@"./Mocks/TestRemoveDataAttributes.cs")); var rewriter = new DataAttributeRemover(); var rewrittenRoot = rewriter.Visit(tree.GetRoot()); var output = rewrittenRoot.GetText().ToString(); output.Should().NotContain("System.Runtime.Serialization"); output.Should().NotContain("[DataContract]"); output.Should().NotContain("[KnownType"); output.Should().NotContain("[IgnoreDataMember]"); output.Should().NotContain("[EnumMember]"); output.Should().NotContain(@"[DataMember(Order = 1, Name=""Test"")]"); output.Should().NotContain("[DataMember(Order = 2)]"); output.Should().NotContain(@"DataMember(Name = ""test12"")"); output.Should().Contain("[Required]"); output.Should().Contain("[Serializable]"); }