コード例 #1
0
        private void RunCsFileInfoCollectorTest(TestCase testCase)
        {
            var        collector  = new CSFileInfoCollector(testCase.Root, testCase.FileName);
            CSfileInfo cSfileInfo = collector.Collect(testCase.Root.GetRoot());

            Assert.IsTrue(cSfileInfo.Classes.Count > 0);
            Assert.IsTrue(cSfileInfo.Classes[0].CodeRunners[0].Name == testCase.ClassInfo.CodeRunners[0].Name);
        }
コード例 #2
0
ファイル: TestCase.cs プロジェクト: rohanraja/codevine-parser
        public static TestCase GetSimple2LineMethodCase()
        {
            string    testMethod = @""" 
            class TestClass
            {
                void MethodA()
                {
                    int count = 0;
                    count ++;
                }
            }
            """;
            ClassInfo classInfo  = FactoryHelper.CreateClassInfo();

            classInfo.RelativeFilePath = "TestFile.cs";

            CodeRunnerInfo codeRunnerInfo = new CodeRunnerInfo();

            codeRunnerInfo.Name          = "MethodA";
            codeRunnerInfo.IsConstructor = false;

            codeRunnerInfo.blockInfo[0] = new BlockInfo();
            codeRunnerInfo.blockInfo[0].CloseBraceLineNo = 7;
            StatementInfo sInfo = new StatementInfo();

            sInfo = new StatementInfo {
                LineNo = 5
            };
            codeRunnerInfo.blockInfo[0].Add(sInfo);
            sInfo = new StatementInfo {
                LineNo = 6
            };
            codeRunnerInfo.blockInfo[0].Add(sInfo);

            classInfo.AddCodeRunnerInfo(codeRunnerInfo, 0);

            CSfileInfo cSfileInfo = new CSfileInfo();

            cSfileInfo.Classes.Add(classInfo);

            Dictionary <int, List <string> > renderingInfo = new Dictionary <int, List <string> >()
            {
            };

            renderingInfo[0] = new List <string>()
            {
                "OnMethodEnter();",
                "LogLineRun()",
                "0",
                "LogLineRun()",
                "1",
                "LogLineRun()",
            };

            List <string> expectedStatementSubStrings = new List <string>()
            {
                "OnMethodEnter",
                "LogLineRun",
                "int count",
                "LogLineRun",
                "count ++",
            };

            SyntaxNode methSyntax = Helpers.GetFirstMethodSyntax(testMethod);

            SyntaxTree root = Helpers.GetRoot(testMethod);

            return(new TestCase
            {
                Code = testMethod,
                ClassInfo = classInfo,
                ExpectedStatements = expectedStatementSubStrings,
                ExpectedStatementCount = 6,
                Node = methSyntax,
                RenderInfo = renderingInfo,
                Root = root,
                FileName = classInfo.RelativeFilePath,
                CSFileInfo = cSfileInfo,
            });
        }
コード例 #3
0
ファイル: TestCase.cs プロジェクト: rohanraja/codevine-parser
        public static TestCase GetSingleIfMethod()
        {
            string testMethod = @""" 
            class TestClass
            {
                void MethodA()
                {
                    int b=3;
                    if(true)
                    {
                        int count = 0;
                    }
                }
            }
            """;
            MethodDeclarationSyntax methSyntax = Helpers.GetFirstMethodSyntax(testMethod);
            ClassInfo classInfo = FactoryHelper.CreateClassInfo();

            classInfo.RelativeFilePath = "TestFile.cs";

            CodeRunnerInfo codeRunnerInfo = new CodeRunnerInfo();

            codeRunnerInfo.Name          = "MethodA";
            codeRunnerInfo.IsConstructor = false;

            codeRunnerInfo.blockInfo[0] = new BlockInfo();
            codeRunnerInfo.blockInfo[0].CloseBraceLineNo = 9;
            codeRunnerInfo.blockInfo[1] = new BlockInfo();
            codeRunnerInfo.blockInfo[1].CloseBraceLineNo = 10;
            StatementInfo sInfo = new StatementInfo();

            sInfo = new StatementInfo {
                LineNo = 5
            };
            codeRunnerInfo.blockInfo[0].Add(sInfo);
            sInfo = new StatementInfo {
                LineNo = 6
            };
            codeRunnerInfo.blockInfo[0].Add(sInfo);
            sInfo = new StatementInfo {
                LineNo = 8
            };
            codeRunnerInfo.blockInfo[1].Add(sInfo);

            classInfo.AddCodeRunnerInfo(codeRunnerInfo, 0);

            CSfileInfo cSfileInfo = new CSfileInfo();

            cSfileInfo.Classes.Add(classInfo);

            SyntaxTree root = Helpers.GetRoot(testMethod);

            List <string> expectedStatementSubStrings = new List <string>()
            {
                "OnMethodEnter",
                "LogLineRun",
                "int b",
                "LogLineRun",
                "if(true)",
                "LogLineRun",
                "LogLineRun",
                "int count",
                "LogLineRun",
            };

            return(new TestCase
            {
                Code = testMethod,
                ClassInfo = classInfo,
                ExpectedStatements = expectedStatementSubStrings,
                ExpectedStatementCount = 9,
                Node = methSyntax,
                Root = root,
                CSFileInfo = cSfileInfo,
                FileName = classInfo.RelativeFilePath
            });
        }