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()); }
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()); }
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()); }
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(); }
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); }
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); }
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); }
public void testConstructor() { ClangWrapper wrapper = new ClangWrapper(); }
public void testLoadFileFail() { ClangWrapper wrapper = new ClangWrapper(); Assert.Throws <FileNotFoundException>(delegate { wrapper.loadFile("nonExistingFile.c"); }); }
public void given_a_class_cursor_in_a_file() { FilePath = Path.Combine(TestProjectPath, "ClangWrapperShould.h"); ClangWrapper = ClangWrapper.For(FilePath); ClassCursor = ClangWrapper.RetrieveClassCursors().Single(); }