Add comment about floating point test
* test/src/data-tests.el (data-tests--float-greater-than-fixnums): New constant. (data-tests-=, data-tests-<, data-tests->, data-tests-<=) (data-tests->=, data-tests-min): Use it.
This commit is contained in:
parent
e73e6838aa
commit
34e75c144e
1 changed files with 14 additions and 6 deletions
|
@ -23,13 +23,21 @@
|
|||
|
||||
(require 'cl-lib)
|
||||
|
||||
(defconst data-tests--float-greater-than-fixnums (+ 1.0 most-positive-fixnum)
|
||||
"A floating-point value that is greater than all fixnums.
|
||||
It is also as small as conveniently possible, to make the tests sharper.
|
||||
Adding 1.0 to most-positive-fixnum should suffice on all
|
||||
practical Emacs platforms, since the result is a power of 2 and
|
||||
this is exactly representable and is greater than
|
||||
most-positive-fixnum, which is just less than a power of 2.")
|
||||
|
||||
(ert-deftest data-tests-= ()
|
||||
(should-error (=))
|
||||
(should (= 1))
|
||||
(should (= 2 2))
|
||||
(should (= 9 9 9 9 9 9 9 9 9))
|
||||
(should (= most-negative-fixnum (float most-negative-fixnum)))
|
||||
(should-not (= most-positive-fixnum (+ 1.0 most-positive-fixnum)))
|
||||
(should-not (= most-positive-fixnum data-tests--float-greater-than-fixnums))
|
||||
(should-not (apply #'= '(3 8 3)))
|
||||
(should-error (= 9 9 'foo))
|
||||
;; Short circuits before getting to bad arg
|
||||
|
@ -40,7 +48,7 @@
|
|||
(should (< 1))
|
||||
(should (< 2 3))
|
||||
(should (< -6 -1 0 2 3 4 8 9 999))
|
||||
(should (< 0.5 most-positive-fixnum (+ 1.0 most-positive-fixnum)))
|
||||
(should (< 0.5 most-positive-fixnum data-tests--float-greater-than-fixnums))
|
||||
(should-not (apply #'< '(3 8 3)))
|
||||
(should-error (< 9 10 'foo))
|
||||
;; Short circuits before getting to bad arg
|
||||
|
@ -51,7 +59,7 @@
|
|||
(should (> 1))
|
||||
(should (> 3 2))
|
||||
(should (> 6 1 0 -2 -3 -4 -8 -9 -999))
|
||||
(should (> (+ 1.0 most-positive-fixnum) most-positive-fixnum 0.5))
|
||||
(should (> data-tests--float-greater-than-fixnums most-positive-fixnum 0.5))
|
||||
(should-not (apply #'> '(3 8 3)))
|
||||
(should-error (> 9 8 'foo))
|
||||
;; Short circuits before getting to bad arg
|
||||
|
@ -62,7 +70,7 @@
|
|||
(should (<= 1))
|
||||
(should (<= 2 3))
|
||||
(should (<= -6 -1 -1 0 0 0 2 3 4 8 999))
|
||||
(should (<= 0.5 most-positive-fixnum (+ 1.0 most-positive-fixnum)))
|
||||
(should (<= 0.5 most-positive-fixnum data-tests--float-greater-than-fixnums))
|
||||
(should-not (apply #'<= '(3 8 3 3)))
|
||||
(should-error (<= 9 10 'foo))
|
||||
;; Short circuits before getting to bad arg
|
||||
|
@ -73,7 +81,7 @@
|
|||
(should (>= 1))
|
||||
(should (>= 3 2))
|
||||
(should (>= 666 1 0 0 -2 -3 -3 -3 -4 -8 -8 -9 -999))
|
||||
(should (>= (+ 1.0 most-positive-fixnum) most-positive-fixnum))
|
||||
(should (>= data-tests--float-greater-than-fixnums most-positive-fixnum))
|
||||
(should-not (apply #'>= '(3 8 3)))
|
||||
(should-error (>= 9 8 'foo))
|
||||
;; Short circuits before getting to bad arg
|
||||
|
@ -97,7 +105,7 @@
|
|||
(should (= 2 (min 3 2)))
|
||||
(should (= -999 (min 666 1 0 0 -2 -3 -3 -3 -4 -8 -8 -9 -999)))
|
||||
(should (= most-positive-fixnum
|
||||
(min (+ 1.0 most-positive-fixnum) most-positive-fixnum)))
|
||||
(min data-tests--float-greater-than-fixnums most-positive-fixnum)))
|
||||
(should (= 3 (apply #'min '(3 8 3))))
|
||||
(should-error (min 9 8 'foo))
|
||||
(should-error (min (make-marker)))
|
||||
|
|
Loading…
Add table
Reference in a new issue