;;; test-ob-calc.el --- tests for ob-calc.el -*- lexical-binding: t; -*- ;; Copyright (C) 2024 Visuwesh ;; Author: Visuwesh ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Code: (require 'ob-calc) (unless (featurep 'ob-calc) (signal 'missing-test-dependency "Support for Calc code blocks")) (ert-deftest ob-calc/simple-program-mult () "Test of simple multiplication." (org-test-at-id "40e4cd26-fe15-45c0-938b-111e021a5a99" (org-babel-next-src-block) (should (equal "2" (org-babel-execute-src-block))))) (ert-deftest ob-calc/simple-program-arith () "Test of simple arithmetic." (org-test-at-id "40e4cd26-fe15-45c0-938b-111e021a5a99" (org-babel-next-src-block 2) (should (equal "27" (org-babel-execute-src-block))))) (ert-deftest ob-calc/simple-program-symbolic () "Test of simple symbolic algebra." (org-test-at-id "40e4cd26-fe15-45c0-938b-111e021a5a99" (org-babel-next-src-block 3) (should (equal "1 / a" (org-babel-execute-src-block))))) (ert-deftest ob-calc/matrix-inversion () "Test of a matrix inversion." (org-test-at-id "138938e1-f0ba-4c2b-babe-5d20f2b83557" (org-babel-next-src-block) (should (equal "[[-1, 0.625, -0.125], [0.25, -0.5, 0.25], [0.5, 0.125, -0.125]]" (org-babel-execute-src-block))))) (ert-deftest ob-calc/matrix-algebra () "Test of simple matrix algebra." (org-test-at-id "138938e1-f0ba-4c2b-babe-5d20f2b83557" (org-babel-next-src-block 2) (should (equal "[0, 2, 4, 6, 8]" (org-babel-execute-src-block))))) (ert-deftest ob-calc/matrix-mean () "Test of simple mean of a vector." (org-test-at-id "138938e1-f0ba-4c2b-babe-5d20f2b83557" (org-babel-next-src-block 3) (should (equal "3" (org-babel-execute-src-block))))) (ert-deftest ob-calc/matrix-correct-conv-column () "Test of conversion of column table to Calc format." (org-test-at-id "138938e1-f0ba-4c2b-babe-5d20f2b83557" (org-babel-next-src-block 4) (should (equal "[[1], [2], [3]]" (org-babel-execute-src-block))))) (ert-deftest ob-calc/matrix-correct-conv-row () "Test of conversion of row table to Calc format." (org-test-at-id "138938e1-f0ba-4c2b-babe-5d20f2b83557" (org-babel-next-src-block 5) (should (equal "[1, 2, 3, 4, 5]" (org-babel-execute-src-block))))) (provide 'test-ob-calc) ;;; test-ob-calc.el ends here