]> code.delx.au - gnu-emacs/blobdiff - test/automated/calc-tests.el
Rename all test files to reflect source layout.
[gnu-emacs] / test / automated / calc-tests.el
diff --git a/test/automated/calc-tests.el b/test/automated/calc-tests.el
deleted file mode 100644 (file)
index d5252ea..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-;;; calc-tests.el --- tests for calc                 -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2014-2015 Free Software Foundation, Inc.
-
-;; Author: Leo Liu <sdl.web@gmail.com>
-;; Keywords: maint
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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.
-
-;; GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;; Code:
-
-(require 'cl-lib)
-(require 'ert)
-(require 'calc)
-(require 'calc-ext)
-(require 'calc-units)
-
-;; XXX The order in which calc libraries (in particular calc-units)
-;; are loaded influences whether a calc integer in an expression
-;; involving units is represented as a lisp integer or a calc float,
-;; see bug#19582.  Until this will be fixed the following function can
-;; be used to compare such calc expressions.
-(defun calc-tests-equal (a b)
-  "Like `equal' but allow for different representations of numbers.
-For example: (calc-tests-equal 10 '(float 1 1)) => t.
-A and B should be calc expressions."
-  (cond ((math-numberp a)
-        (and (math-numberp b)
-             (math-equal a b)))
-       ((atom a)
-        (equal a b))
-       ((consp b)
-        ;; Can't be dotted or circular.
-        (and (= (length a) (length b))
-             (equal (car a) (car b))
-             (cl-every #'calc-tests-equal (cdr a) (cdr b))))))
-
-(defun calc-tests-simple (fun string &rest args)
-  "Push STRING on the calc stack, then call FUN and return the new top.
-The result is a calc (i.e., lisp) expression, not its string representation.
-Also pop the entire stack afterwards.
-An existing calc stack is reused, otherwise a new one is created."
-  (calc-eval string 'push)
-  (prog1
-      (ignore-errors
-       (apply fun args)
-       (calc-top-n 1))
-    (calc-pop 0)))
-
-(ert-deftest test-math-bignum ()
-  ;; bug#17556
-  (let ((n (math-bignum most-negative-fixnum)))
-    (should (math-negp n))
-    (should (cl-notany #'cl-minusp (cdr n)))))
-
-(ert-deftest test-calc-remove-units ()
-  (should (calc-tests-equal (calc-tests-simple #'calc-remove-units "-1 m") -1)))
-
-(ert-deftest test-calc-extract-units ()
-  (should (calc-tests-equal (calc-tests-simple #'calc-extract-units "-1 m")
-                           '(var m var-m)))
-  (should (calc-tests-equal (calc-tests-simple #'calc-extract-units "-1 m*cm")
-                           '(* (float 1 -2) (^ (var m var-m) 2)))))
-
-(ert-deftest test-calc-convert-units ()
-  ;; Used to ask for `(The expression is unitless when simplified) Old Units: '.
-  (should (calc-tests-equal (calc-tests-simple #'calc-convert-units "-1 m" nil "cm")
-                           '(* -100 (var cm var-cm))))
-  ;; Gave wrong result.
-  (should (calc-tests-equal (calc-tests-simple #'calc-convert-units "-1 m"
-                                              (math-read-expr "1m") "cm")
-                           '(* -100 (var cm var-cm)))))
-
-(provide 'calc-tests)
-;;; calc-tests.el ends here
-
-;; Local Variables:
-;; bug-reference-url-format: "http://debbugs.gnu.org/%s"
-;; End: