Files
rust-mal/tests/equals.mal
2024-01-18 13:42:41 +09:00

53 lines
1.0 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
; nil
(assert (= nil nil))
(assert (not (= nil true)))
(assert (not (= nil 1)))
; bool
(assert (= true true))
(assert (not (= false true)))
(assert (not (= true 1)))
; int
(assert (= 1 1))
(assert (not (= 1 2)))
(assert (not (= 1 nil)))
; key
(assert (= :a :a))
(assert (not (= :a :b)))
(assert (not (= :a "a")))
; sym
(assert (= 'a 'a))
(assert (not (= 'a 'b)))
(assert (not (= 'a "a")))
; string
(assert (= "a" "a"))
(assert (not (= "a" "b")))
(assert (not (= "a" :a)))
; add comparison for same elements with different length
; list
(assert (= '(1 1 1) '(1 1 1)))
(assert (not (= '(1 2 1) '(1 1 1))))
(assert (not (= '(1) '(1 1))))
(assert (not (= '(1 1) '(1))))
(assert (not (= () '(1))))
(assert (not (= '(1) ())))
(assert (not (= '(1 1 1) [1 1 1])))
; vector
(assert (= [1 1 1] [1 1 1]))
(assert (not (= [1 2 1] [1 1 1])))
(assert (not (= [1 1 1] '(1 1 1))))