Files
rust-mal/tests/equals.mal
teo3300 1f47c9f57e Added some other tests
- builtin eq test
- load_file return resul

Signed-off-by: teo3300 <matteo.rogora@live.it>
2023-11-25 22:29:06 +09:00

58 lines
1.3 KiB
Plaintext

; This is used for assert-eq in other tests
; For each type do the following tests:
; single element
; equal elements
; 1 different
; compare with foreign type
; empty
(assert (=)) ; nothing to compare with
; nil
(assert (= nil))
(assert (= nil nil nil))
(assert (not (= nil true)))
(assert (not (= nil 1)))
; bool
(assert (= true))
(assert (= true true true))
(assert (not (= true false true)))
(assert (not (= true 1)))
; int
(assert (= 1))
(assert (= 1 1 1))
(assert (not (= 1 2 1)))
(assert (not (= 1 nil)))
; key
(assert (= :a))
(assert (= :a :a :a))
(assert (not (= :a :b :a)))
(assert (not (= :a "a")))
; string
(assert (= "a"))
(assert (= "a" "a" "a"))
(assert (not (= "a" "b" "a")))
(assert (not (= "a" :a)))
; add comparison for same elements with different length
; list
(assert (= (list 1 1 1)))
(assert (= (list 1 1 1) (list 1 1 1) (list 1 1 1)))
(assert (not (= (list 1 1 1) (list 1 2 1) (list 1 1 1))))
(assert (not (= (list 1) (list 1 1))))
(assert (not (= (list 1 1) (list 1))))
(assert (not (= () (list 1))))
(assert (not (= (list 1) ())))
(assert (not (= (list 1 1 1) [1 1 1])))
; vector
(assert (= [1 1 1]))
(assert (= [1 1 1] [1 1 1] [1 1 1]))
(assert (not (= [1 1 1] [1 2 1] [1 1 1])))
(assert (not (= [1 1 1] (list 1 1 1))))