From fba6eef6944766e675e4abe1d11d347b9a728031 Mon Sep 17 00:00:00 2001 From: Sergey Litvinov Date: Wed, 3 Aug 2011 22:03:19 +0200 Subject: [PATCH 2/2] Add tests for ob-C.el --- testing/README.org | 1 + testing/examples/ob-C-test.org | 44 ++++++++++++++++++++++++++++++++++++++++ testing/lisp/test-ob-C.el | 43 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 0 deletions(-) create mode 100644 testing/examples/ob-C-test.org create mode 100644 testing/lisp/test-ob-C.el diff --git a/testing/README.org b/testing/README.org index 2f16a55..cb408db 100644 --- a/testing/README.org +++ b/testing/README.org @@ -77,6 +77,7 @@ First tangle this file out to your desktop. (require 'org-id) (org-id-update-id-locations (list (concat org-dir "/testing/examples/babel.org") + (concat org-dir "/testing/examples/ob-C-test.org") (concat org-dir "/testing/examples/normal.org") (concat org-dir "/testing/examples/ob-awk-test.org") (concat org-dir "/testing/examples/ob-fortran-test.org") diff --git a/testing/examples/ob-C-test.org b/testing/examples/ob-C-test.org new file mode 100644 index 0000000..4721c96 --- /dev/null +++ b/testing/examples/ob-C-test.org @@ -0,0 +1,44 @@ +#+Title: a collection of examples for ob-C tests +#+OPTIONS: ^:nil +* Simple tests + :PROPERTIES: + :ID: fa6db330-e960-4ea2-ac67-94bb845b8577 + :END: +#+source: simple +#+begin_src cpp :includes "" :results silent + std::cout << 42; + return 0; +#+end_src + +#+source: integer_var +#+begin_src cpp :var q=12 :includes "" :results silent + std::cout << q; + return 0; +#+end_src + +#+source: two_var +#+begin_src cpp :var q=12 :var p=10 :includes "" :results silent + std::cout << p+q; + return 0; +#+end_src + +#+source: string_var +#+begin_src cpp :var q="word" :includes '( ) :results silent + std::cout << q << ' ' << strlen(q); + return 0; +#+end_src + +#+source: define +#+begin_src cpp :defines N 42 :includes "" :results silent + std::cout << N; + return 0; +#+end_src + +* Array +#+source: array +#+begin_src cpp :includes "" :results vector :results silent + for (int i=1; i<3; i++) { + std::cout << i << '\n'; + } + return 0; +#+end_src diff --git a/testing/lisp/test-ob-C.el b/testing/lisp/test-ob-C.el new file mode 100644 index 0000000..5ee7bec --- /dev/null +++ b/testing/lisp/test-ob-C.el @@ -0,0 +1,43 @@ +(require 'ob-C) + +(ert-deftest ob-C/assert () + (should t)) + +(ert-deftest ob-C/simple-program () + "Hello world program." + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block) + (should (= 42 (org-babel-execute-src-block))))) + +(ert-deftest ob-C/integer-var () + "Test of an integer variable." + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block 2) + (should (= 12 (org-babel-execute-src-block))))) + +(ert-deftest ob-C/two-integer-var () + "Test of two input variables" + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block 3) + (should (= 22 (org-babel-execute-src-block))))) + +(ert-deftest ob-C/string-var () + "Test of a string input variable" + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block 4) + (should (equal "word 4" (org-babel-execute-src-block))))) + +(ert-deftest ob-C/preprocessor () + "Test of a string variable" + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" + (org-babel-next-src-block 5) + (should (= 42 (org-babel-execute-src-block))))) + +(ert-deftest ob-C/table () + "Test of a table output" + (org-test-at-id "2df1ab83-3fa3-462a-a1f3-3aef6044a874" + (org-babel-next-src-block) + (should (equal '((1) (2)) (org-babel-execute-src-block))))) + +;;; test-ob-C.el ends here + -- 1.7.1