Ejemplo n.º 1
0
        public static TestFile BuildFrom(string filePath, ClangWrapper clangWrapper)
        {
            var path        = filePath;
            var name        = StringHelper.GetFileNameFrom(filePath);
            var testClasses = clangWrapper.RetrieveTestClasses();

            if (testClasses.Any())
            {
                return(new TestFile(path, name, new TestClasses(testClasses)));
            }

            return(new File());
        }
Ejemplo n.º 2
0
        public static TestMethod BuildFrom(ClangWrapper clangWrapper, CXCursor methodCursor)
        {
            var path           = clangWrapper.GetCursorFilePath(methodCursor);
            var name           = clangWrapper.GetCursorName(methodCursor);
            var line           = clangWrapper.GetCursorLine(methodCursor);
            var testProperties = clangWrapper.RetrieveTestPropertiesIn(methodCursor);

            if (testProperties.Any())
            {
                return(new TestMethod(path, name, line, new TestProperties(testProperties)));
            }

            return(new Method());
        }
Ejemplo n.º 3
0
        public static TestClass BuildFrom(ClangWrapper clangWrapper, CXCursor classCursor)
        {
            var path        = clangWrapper.GetCursorFilePath(classCursor);
            var name        = clangWrapper.GetCursorName(classCursor);
            var line        = clangWrapper.GetCursorLine(classCursor);
            var testMethods = clangWrapper.RetrieveTestMethodsIn(classCursor);

            if (testMethods.Any())
            {
                return(new TestClass(path, name, line, new TestMethods(testMethods)));
            }

            return(new Class());
        }
Ejemplo n.º 4
0
        private void assertCodeWithTranslation(string languageCode, string code, string expectedTranslation, int childIndex)
        {
            createTemplateFiles();

            Translator      translator = new Translator(languageCode, "");
            ClangWrapper    wrapper    = getWrapper(code);
            Cursor          root       = wrapper.getRoot();
            TranslationUnit tu         = wrapper.getTranslationUnit();
            Cursor          child      = root.Children[childIndex];

            string translation = translator.translate(child, tu);

            Assert.AreEqual(expectedTranslation, translation);

            deleteTemplateFiles();
        }
Ejemplo n.º 5
0
        public void testLoadFile()
        {
            ClangWrapper wrapper = new ClangWrapper();

            // Create temporary test file
            string fileName = "func.c";

            using (StreamWriter sw = System.IO.File.CreateText(fileName))
            {
                sw.Write("Hello");
            }

            // Load file
            wrapper.loadFile("func.c");
            // No exception, load success

            wrapper.dispose();
            System.IO.File.Delete(fileName);
        }
Ejemplo n.º 6
0
        private ClangWrapper getWrapper(string code)
        {
            ClangWrapper wrapper = new ClangWrapper();

            // Create temporary test file
            string fileName = "func.c";

            using (StreamWriter sw = System.IO.File.CreateText(fileName))
            {
                sw.Write(code);
            }

            // Load file
            wrapper.loadFile("func.c");

            System.IO.File.Delete(fileName);

            return(wrapper);
        }
Ejemplo n.º 7
0
        public void testGetAstRoot()
        {
            ClangWrapper wrapper = new ClangWrapper();

            // Create temporary test file
            string fileName = "func.c";

            using (StreamWriter sw = System.IO.File.CreateText(fileName))
            {
                sw.Write("int main() { return 0; }");
            }

            // Load file
            wrapper.loadFile("func.c");

            // Assert root kind and first child kind
            Assert.AreEqual(CursorKind.TranslationUnit, wrapper.getRoot().Kind);
            Assert.AreEqual(CursorKind.FunctionDecl, wrapper.getRoot().Children[0].Kind);
            Assert.AreEqual("main", wrapper.getRoot().Children[0].Spelling);

            wrapper.dispose();
            System.IO.File.Delete(fileName);
        }
Ejemplo n.º 8
0
 public void testConstructor()
 {
     ClangWrapper wrapper = new ClangWrapper();
 }
Ejemplo n.º 9
0
        public void testLoadFileFail()
        {
            ClangWrapper wrapper = new ClangWrapper();

            Assert.Throws <FileNotFoundException>(delegate { wrapper.loadFile("nonExistingFile.c"); });
        }
Ejemplo n.º 10
0
 public void given_a_class_cursor_in_a_file()
 {
     FilePath     = Path.Combine(TestProjectPath, "ClangWrapperShould.h");
     ClangWrapper = ClangWrapper.For(FilePath);
     ClassCursor  = ClangWrapper.RetrieveClassCursors().Single();
 }