public void MyTestMethod()
        {
            var runner = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));

            runner.GenerateSrcMLFromDirectory("srcmltest", "srcmltest1.xml");
            runner.GenerateSrcMLFromFile("srcmltest\\File with spaces.cpp", "testfile.xml");
        }
Ejemplo n.º 2
0
        public void MultipleFilesTest_DifferentDirectories()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));
            var doc         = srcmlObject.GenerateSrcMLFromFiles(new string[] { "srcmltest\\foo.c", "srcmltest\\bar.c", "..\\..\\TestInputs\\baz.cpp" }, "srcml_xml\\multiplefile.xml");

            Assert.IsNotNull(doc);
            var files = doc.FileUnits.ToList();

            Assert.AreEqual(3, files.Count());

            string file = "srcmltest\\foo.c";
            var    f1   = (from ele in files
                           where ele.Attribute("filename").Value == file
                           select ele);

            Assert.AreEqual("srcmltest\\foo.c", f1.FirstOrDefault().Attribute("filename").Value);

            string file1 = "srcmltest\\bar.c";
            var    f2    = (from ele in files
                            where ele.Attribute("filename").Value == file1
                            select ele);

            Assert.AreEqual("srcmltest\\bar.c", f2.FirstOrDefault().Attribute("filename").Value);

            string file2 = "\\..\\TestInputs\\baz.cpp";
            var    f3    = (from ele in files
                            where ele.Attribute("filename").Value == file2
                            select ele);

            Console.WriteLine(f3.FirstOrDefault().Value);
            Assert.AreEqual("\\..\\TestInputs\\baz.cpp", f3.FirstOrDefault().Attribute("filename").Value);
        }
Ejemplo n.º 3
0
        public void MultipleFilesTest_Language()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));
            var doc         = srcmlObject.GenerateSrcMLFromFiles(new string[] { "srcmltest\\foo.c", "srcmltest\\bar.c" }, "srcml_xml\\multiplefile.xml", Language.CPlusPlus);

            Assert.IsNotNull(doc);
            var files = doc.FileUnits.ToList();

            Assert.AreEqual(2, files.Count());
            string file = "srcmltest\\foo.c";
            var    f1   = (from ele in files
                           where ele.Attribute("filename").Value == file
                           select ele);

            Assert.AreEqual("srcmltest\\foo.c", f1.FirstOrDefault().Attribute("filename").Value);
            Assert.AreEqual("C++", f1.FirstOrDefault().Attribute("language").Value);

            string file2 = "srcmltest\\bar.c";
            var    f2    = (from ele in files
                            where ele.Attribute("filename").Value == file2
                            select ele);

            Assert.AreEqual("srcmltest\\bar.c", f2.FirstOrDefault().Attribute("filename").Value);
            Assert.AreEqual("C++", f2.FirstOrDefault().Attribute("language").Value);
        }
Ejemplo n.º 4
0
        public void MyTestMethod()
        {
            var runner = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            runner.GenerateSrcMLFromDirectory("srcmltest", "srcmltest1.xml");
            runner.GenerateSrcMLFromFile("srcmltest\\File with spaces.cpp", "testfile.xml");
        }
        public void DifferentLanguageTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\CSHARP.cs", "srcml_xml\\differentlanguage_java.xml", Language.Java);

            Assert.IsNotNull(doc);
        }
Ejemplo n.º 6
0
        public void InputWithSpacesTest()
        {
            var runner = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));
            var doc    = runner.GenerateSrcMLFromFile("srcmltest\\File with spaces.cpp", "srcml_xml\\input_with_spaces.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
        }
Ejemplo n.º 7
0
        public void FunctionWithElseInCpp()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\cpp_parsing_error.c", "external_xml\\cpp_parsing_error.c.xml");

            Assert.AreEqual(1, doc.FileUnits.First().Elements().Count(), srcmlObject.ApplicationDirectory);
        }
Ejemplo n.º 8
0
        public void MacroWithoutSemicolon()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\MacroWithoutSemicolon.cpp", "external_xml\\MacroWithoutSemicolon.cpp.xml");

            Assert.AreEqual(2, doc.FileUnits.First().Descendants(SRC.If).Count());
        }
Ejemplo n.º 9
0
        public void DestructorWithIfStatement()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\DestructorWithIfStatement.cpp", "external_xml\\DestructorWithIfStatement.cpp.xml");

            Assert.AreEqual(1, doc.FileUnits.First().Descendants(SRC.Destructor).Count());
        }
Ejemplo n.º 10
0
        public void MethodWithFunctionPointerAsParameter()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\MethodWithFunctionPointerParameters.cpp", "external_xml\\MethodWithFunctionPointerParameters.cpp.xml");

            Assert.AreEqual(2, doc.FileUnits.First().Element(SRC.Function).Element(SRC.ParameterList).Elements(SRC.Parameter).Count());
        }
Ejemplo n.º 11
0
        public void MethodWithFunctionPointerAsParameter()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\MethodWithFunctionPointerParameters.cpp", "external_xml\\MethodWithFunctionPointerParameters.cpp.xml");

            Assert.AreEqual(2, doc.FileUnits.First().Element(SRC.Function).Element(SRC.ParameterList).Elements(SRC.Parameter).Count());
        }
Ejemplo n.º 12
0
        public void DestructorWithIfStatement()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\DestructorWithIfStatement.cpp", "external_xml\\DestructorWithIfStatement.cpp.xml");

            Assert.AreEqual(1, doc.FileUnits.First().Descendants(SRC.Destructor).Count());
        }
Ejemplo n.º 13
0
        public void DifferentLanguageTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\CSHARP.cs", "srcml_xml\\differentlanguage_java.xml", Language.Java);

            Assert.IsNotNull(doc);
        }
        public void InputWithSpacesTest()
        {
            var runner = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));
            var doc    = runner.GenerateSrcMLFromFile("srcmltest\\File with spaces.cpp", "srcml_xml\\input_with_spaces.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
        }
Ejemplo n.º 15
0
        public void MacroWithoutSemicolon()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\MacroWithoutSemicolon.cpp", "external_xml\\MacroWithoutSemicolon.cpp.xml");

            Assert.AreEqual(2, doc.FileUnits.First().Descendants(SRC.If).Count());
        }
Ejemplo n.º 16
0
        public void FunctionWithElseInCpp()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("external\\cpp_parsing_error.c", "external_xml\\cpp_parsing_error.c.xml");

            Assert.AreEqual(1, doc.FileUnits.First().Elements().Count(), srcmlObject.ApplicationDirectory);
        }
        public void SingleFileTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\foo.c", "srcml_xml\\singlefile.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
            Assert.AreEqual("srcmltest\\foo.c", doc.FileUnits.First().Attribute("filename").Value);
        }
Ejemplo n.º 18
0
        public void SingleFileTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\foo.c", "srcml_xml\\singlefile.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
            Assert.AreEqual("srcmltest\\foo.c", doc.FileUnits.First().Attribute("filename").Value);
        }
        public void SingleFileToFileAndXElementTest()
        {
            var srcmlObject = new Src2SrcMLRunner(TestConstants.SrcmlPath);

            XElement xElement = srcmlObject.GenerateSrcMLAndXElementFromFile("srcmltest\\foo.c", "srcml_xml\\singlefile.xml");

            Assert.IsNotNull(xElement);
            //Assert.AreEqual(1, doc.FileUnits.Count());
            //Assert.AreEqual("srcmltest\\foo.c", doc.FileUnits.First().Attribute("filename").Value);
            Assert.That(File.Exists("srcml_xml\\singlefile.xml"));
        }
Ejemplo n.º 20
0
        public void SingleFileToFileAndXElementTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            XElement xElement = srcmlObject.GenerateSrcMLAndXElementFromFile("srcmltest\\foo.c", "srcml_xml\\singlefile.xml");

            Assert.IsNotNull(xElement);
            //Assert.AreEqual(1, doc.FileUnits.Count());
            //Assert.AreEqual("srcmltest\\foo.c", doc.FileUnits.First().Attribute("filename").Value);
            Assert.That(File.Exists("srcml_xml\\singlefile.xml"));
        }
Ejemplo n.º 21
0
        public void GetSrcLineNumberWithMultipleUnit()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromDirectory("srctest", "srctest_xml\\multipleunit_linenumber.xml");

            var firstUnit = doc.FileUnits.First();

            Assert.AreEqual(1, firstUnit.Element(SRC.Function).GetSrcLineNumber());
            Assert.AreEqual(2, firstUnit.Descendants(SRC.Call).First().GetSrcLineNumber());
        }
Ejemplo n.º 22
0
        public void JavaClassWithConstructor()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var      doc        = srcmlObject.GenerateSrcMLFromFile("external\\ClassWithConstructor.java", "external_xml\\ClassWithConstructor.java.xml");
            XElement classBlock = null;

            classBlock = doc.FileUnits.First().Element(SRC.Class).Element(SRC.Block);

            Assert.AreEqual(1, classBlock.Elements(SRC.Function).Count(), srcmlObject.ApplicationDirectory);
        }
        public void MultipleFilesTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));
            var doc         = srcmlObject.GenerateSrcMLFromFiles(new string[] { "srcmltest\\foo.c", "srcmltest\\bar.c" }, "srcml_xml\\multiplefile.xml");

            Assert.IsNotNull(doc);
            var files = doc.FileUnits.ToList();

            Assert.AreEqual(2, files.Count());
            Assert.AreEqual("srcmltest\\foo.c", files[0].Attribute("filename").Value);
            Assert.AreEqual("srcmltest\\bar.c", files[1].Attribute("filename").Value);
        }
        public void EmptyOutputFileTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));

            File.WriteAllText("srcml_xml\\emptyFile.xml", "");
            Assert.IsTrue(File.Exists("srcml_xml\\emptyFile.xml"));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\foo.c", "srcml_xml\\emptyFile.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
        }
Ejemplo n.º 25
0
        public void SrcMLFromStringTest()
        {
            string sourceCode  = @"int foo() {
printf(""hello world!"");
}";
            var    srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));
            string xml         = srcmlObject.GenerateSrcMLFromString(sourceCode, Language.C);

            XElement element = XElement.Parse(xml);

            Assert.IsNotNull(element);
        }
        public void SrcMLFromStringTest()
        {
            string sourceCode  = @"int foo() {
printf(""hello world!"");
}";
            var    srcmlObject = new Src2SrcMLRunner(Path.Combine(".", "SrcML"));
            string xml         = srcmlObject.GenerateSrcMLFromString(sourceCode, Language.C);

            XElement element = XElement.Parse(xml);

            Assert.IsNotNull(element);
        }
Ejemplo n.º 27
0
        public void EmptyOutputFileTest()
        {
            var srcmlObject = new Src2SrcMLRunner(Path.Combine(SrcMLHelper.GetSrcMLRootDirectory(), SrcMLHelper.srcMLExecutableLocation));

            File.WriteAllText("srcml_xml\\emptyFile.xml", "");
            Assert.IsTrue(File.Exists("srcml_xml\\emptyFile.xml"));

            var doc = srcmlObject.GenerateSrcMLFromFile("srcmltest\\foo.c", "srcml_xml\\emptyFile.xml");

            Assert.IsNotNull(doc);
            Assert.AreEqual(1, doc.FileUnits.Count());
        }
Ejemplo n.º 28
0
        public void MultipleFilesTest_DifferentDirectories()
        {
            var srcmlObject = new Src2SrcMLRunner();
            var doc         = srcmlObject.GenerateSrcMLFromFiles(new string[] { "srcmltest\\foo.c", "srcmltest\\bar.c", "..\\..\\TestInputs\\baz.cpp" }, "srcml_xml\\multiplefile.xml");

            Assert.IsNotNull(doc);
            var files = doc.FileUnits.ToList();

            Assert.AreEqual(3, files.Count());
            Assert.AreEqual("srcmltest\\foo.c", files[0].Attribute("filename").Value);
            Assert.AreEqual("srcmltest\\bar.c", files[1].Attribute("filename").Value);
            Assert.AreEqual("TestInputs\\baz.cpp", files[2].Attribute("filename").Value);
        }
        public void SingleFileToFileAndStringTest()
        {
            var srcmlObject = new Src2SrcMLRunner(TestConstants.SrcmlPath);

            string xml = srcmlObject.GenerateSrcMLAndStringFromFile("srcmltest\\foo.c", "srcml_xml\\singlefile.xml");

            Console.WriteLine("xml = " + xml);

            Assert.IsNotNull(xml);
            //Assert.AreEqual(1, doc.FileUnits.Count());
            //Assert.AreEqual("srcmltest\\foo.c", doc.FileUnits.First().Attribute("filename").Value);
            Assert.That(File.Exists("srcml_xml\\singlefile.xml"));
        }
Ejemplo n.º 30
0
        public void ExtraNewlinesInMergedDocumentTest()
        {
            var srcmlObject = new Src2SrcMLRunner();

            var doc = srcmlObject.GenerateSrcMLFromDirectory("srcmlfiletest", "test.xml");

            foreach (var unit in doc.FileUnits)
            {
                var path         = doc.GetPathForUnit(unit);
                var firstElement = unit.Elements().First();

                Assert.AreEqual(1, firstElement.GetSrcLineNumber(), path);
            }
        }