예제 #1
0
        public void UpdateDirectivesTest(string replace, string expected)
        {
            var updater  = new SourceCodeUpdater(CSharpSyntaxTree.ParseText(Input.Replace("using System.ServiceModel.Security;", replace)), Template, _logger);
            var result   = updater.UpdateDirectives().ToFullString().Replace(" ", string.Empty);
            var outdated = "using System.ServiceModel;using System.ServiceModel.Security;";

            Assert.DoesNotContain(outdated, result);
            Assert.Contains(expected.Replace(" ", string.Empty), result);
        }
예제 #2
0
        public void RelpaceNamesTest()
        {
            var updater = new SourceCodeUpdater(CSharpSyntaxTree.ParseText(Input), Template, _logger);
            var result  = updater.UpdateDirectives().ToFullString().Replace(" ", string.Empty);

            Assert.Contains("host", result);
            Assert.Contains("SampleService", result);
            Assert.DoesNotContain("varName", result);
            Assert.DoesNotContain("ServiceType", result);
        }
예제 #3
0
        public void UpdateOpenCloseTest(string input, string added)
        {
            var root1   = CSharpSyntaxTree.ParseText(input);
            var root2   = CSharpSyntaxTree.ParseText(input.Replace("host.Close();", string.Empty));
            var result1 = new SourceCodeUpdater(root1, Template, _logger).AddTemplateCode(root1.GetRoot()).ToFullString().Replace(" ", string.Empty);
            var result2 = new SourceCodeUpdater(root2, Template, _logger).AddTemplateCode(root2.GetRoot()).ToFullString().Replace(" ", string.Empty);

            Assert.Contains(added.Replace(" ", string.Empty), result1);
            Assert.Contains(added.Replace(" ", string.Empty), result2);
        }
예제 #4
0
        public void RemoveCodeTest(string input)
        {
            var end     = @"app.StopAsync();
                        }".Replace(" ", string.Empty);
            var root    = CSharpSyntaxTree.ParseText(input);
            var updater = new SourceCodeUpdater(root, Template, _logger);
            var result  = updater.RemoveOldCode(updater.AddTemplateCode(root.GetRoot())).ToFullString().Replace(" ", string.Empty);

            Assert.Contains(end, result);
            Assert.DoesNotContain("int UA_placeHolder;", result);
        }
예제 #5
0
        public void ConfigureServiceHostTest()
        {
            var    root    = CSharpSyntaxTree.ParseText(Input);
            var    updater = new SourceCodeUpdater(root, Template, _logger);
            var    result  = updater.AddTemplateCode(root.GetRoot()).ToFullString().Replace(" ", string.Empty);
            string config  = @"serviceBuilder.ConfigureServiceHostBase<SampleService>(host =>
                { 
                    host.AddDefaultEndpoints(); 
                });".Replace(" ", string.Empty);

            Assert.Contains(config, result);
        }