public void RefactorExample5()
        {
            string        currentDirectory     = Directory.GetCurrentDirectory();
            DirectoryInfo currentDirectoryInfo = new DirectoryInfo(currentDirectory);
            string        grandParentPath      = currentDirectoryInfo.Parent.Parent.FullName;
            DirectoryInfo directory            = new DirectoryInfo(grandParentPath + "\\InputCode");

            foreach (var file in directory.GetFiles("*.cs"))
            {
                ObservableCollection <string> logOutput = new ObservableCollection <string>();
                var    engine  = new RefactorEngine(logOutput);
                string example = File.ReadAllText(file.FullName);
                string output  = engine.RemoveLambdas(example);;
                if (engine.SyntaxErrorsFound)
                {
                    StringBuilder builder = new StringBuilder();
                    foreach (var log in logOutput)
                    {
                        builder.AppendLine(log);
                    }

                    output = builder.ToString();
                }

                File.WriteAllText(grandParentPath + "\\OutputCode\\" + file.Name, output);
            }
        }
        public void RefactorExample1()
        {
            string example = "class Program\r\n{\r\n    static void Main()\r\n    {\r\n    }\r\n}\r\n";
            ObservableCollection <string> logOutput = new ObservableCollection <string>();
            var engine = new RefactorEngine(logOutput);

            engine.RemoveLambdas(example);

            Assert.IsTrue(logOutput.Contains("Refactor completed!"));
        }
        public void RefactorExample2()
        {
            string example = "using System;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        it a;\r\n        int b = a*3+a;\r\n\r\n        Console.WriteLine(b);\r\n    }\r\n}\r\n";
            ObservableCollection <string> logOutput = new ObservableCollection <string>();
            var engine = new RefactorEngine(logOutput);

            engine.RemoveLambdas(example);

            Assert.IsTrue(logOutput.Contains("Couldn't refactor, one or more syntax errors occurred:"));
        }
        public void RefactorExample3()
        {
            string example = "using System;\r\n\r\nclass Program\r\n{\r\n    static void Main()\r\n    {\r\n        Action foo = () =>\r\n        {\r\n            Console.WriteLine(3);\r\n        };\r\n        Func<int, int> foo2 = (x) =>\r\n        {\r\n            return x;\r\n        };\r\n\r\n        foo();\r\n\r\n        Console.WriteLine(foo2(3));\r\n    }\r\n}\r\n";
            ObservableCollection <string> logOutput = new ObservableCollection <string>();
            var engine = new RefactorEngine(logOutput);

            engine.RemoveLambdas(example);

            Assert.IsTrue(logOutput.Contains("Refactor completed!"));
        }