Exemplo n.º 1
0
 public ProtoAttributeService(Microsoft.VisualStudio.OLE.Interop.IServiceProvider sp,
                              ProtoAttributeAdder adder, ProtoAttributeRemover remover, ProtoAttributeRewriter rewriter)
 {
     _serviceProvider = sp;
     //TODO: move to an injection
     _adder    = adder;
     _remover  = remover;
     _rewriter = rewriter;
 }
Exemplo n.º 2
0
        public void RemovesProtoAttributesWhenAttributesAlreadyExists()
        {
            var tree     = CSharpSyntaxTree.ParseText(_fixture.LoadTestFile(@"./Mocks/TestRemoveAttributes.cs"));
            var rewriter = new ProtoAttributeRemover();

            var rewrittenRoot = rewriter.Visit(tree.GetRoot());

            var output = rewrittenRoot.GetText().ToString();

            output.Should().NotContain("ProtoBuf");
            output.Should().NotContain("[ProtoContract]");
            output.Should().NotContain("[ProtoInclude]");
            output.Should().NotContain("[ProtoEnum]");
            output.Should().NotContain("[ProtoIgnore]");
            output.Should().NotContain(@"[ProtoMember(1, Name=""Test"")]");
            output.Should().NotContain("[ProtoMember(2)]");

            output.Should().Contain("[Required]");

            output.Should().Contain("[Serializable]");
        }