From ab3377a587c96c8df185d8000570fda08fa209a4 Mon Sep 17 00:00:00 2001 From: Andrey Orst Date: Thu, 22 Oct 2020 22:32:06 +0300 Subject: add more tests --- core_test.fnl | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) (limited to 'core_test.fnl') diff --git a/core_test.fnl b/core_test.fnl index eb58a44..a7e981a 100644 --- a/core_test.fnl +++ b/core_test.fnl @@ -1,4 +1,5 @@ (import-macros {: fn*} :macros.fn) +(import-macros {: assert-eq : assert-ne : assert*} :test) (local {: seq : mapv @@ -15,19 +16,25 @@ : comp : every?} (require :core)) -;; Test equality function should be done first and with a lot of care, -;; because we rely on deep comparison in other tests. +;; comparing basetypes +(assert-eq 1 1) +(assert-ne 1 2) +(assert* (eq? 1 1 1 1 1)) +(assert-eq 1.0 1.0) +(assert* (eq? 1.0 1.0 1.0)) +(assert* (eq? 1.0 1.0 1.0)) +(assert* (eq? "1" "1" "1" "1" "1")) -(assert (eq? 1 1)) -(assert (not (eq? 1 2))) -(assert (eq? 1 1 1 1 1)) -(assert (eq? "1" "1" "1" "1" "1")) -(assert (eq? [1 2] [1 2])) -(assert (not (eq? [1] [1 2]))) -(assert (not (eq? [1 2] [1]))) -(assert (eq? [1 [2]] [1 [2]] [1 [2]])) -(assert (eq? [1 [2]] [1 [2]] [1 [2]])) -(assert (not (eq? [1 [2]] [1 [2]] [1 [2 [3]]]))) +;; deep comparison +(assert* (eq? [])) +(assert-eq [] []) +(assert-eq [] {}) +(assert-eq [1 2] [1 2]) +(assert-ne [1] [1 2]) +(assert-ne [1 2] [1]) +(assert* (eq? [1 [2]] [1 [2]] [1 [2]])) +(assert* (eq? [1 [2]] [1 [2]] [1 [2]])) +(assert* (not (eq? [1 [2]] [1 [2]] [1 [2 [3]]]))) (fn* range ([upper] (range 0 upper 1)) @@ -38,6 +45,7 @@ (table.insert res i)) res))) -(assert (eq? (range 10) [0 1 2 3 4 5 6 7 8 9])) -(assert (eq? (range -5 5) [-5 -4 -3 -2 -1 0 1 2 3 4])) -;; (assert (eq? (range 0 1 0.2) [0 0.2 0.4 0.6 0.8])) ;; TODO: fails, unsure why. +(assert-eq (range 10) [0 1 2 3 4 5 6 7 8 9]) +(assert-eq (range -5 5) [-5 -4 -3 -2 -1 0 1 2 3 4]) +(assert-eq [0 0.2 0.4 0.6 0.8] [0 0.2 0.4 0.6 0.8]) +(assert-eq (range 0 1 0.2) (range 0 1 0.2)) -- cgit v1.2.3