summaryrefslogtreecommitdiff
path: root/test/automated/calc-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'test/automated/calc-tests.el')
-rw-r--r--test/automated/calc-tests.el94
1 files changed, 0 insertions, 94 deletions
diff --git a/test/automated/calc-tests.el b/test/automated/calc-tests.el
deleted file mode 100644
index c1fb1695c78..00000000000
--- a/test/automated/calc-tests.el
+++ /dev/null
@@ -1,94 +0,0 @@
-;;; calc-tests.el --- tests for calc -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2014-2016 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: