beowulf/test/beowulf/host_test.clj
Simon Brooke 6e5fcbed77 RPLACA and RPLACD now working
Regressions on `pretty-print` and `count`, but I'll accept that for now.

I'm not happy with rewriting ConsCell in Java, but I could not get mutable-unsynchronized to work.
2019-08-22 18:31:22 +01:00

28 lines
788 B
Clojure

(ns beowulf.host-test
(:require [clojure.math.numeric-tower :refer [abs]]
[clojure.test :refer :all]
[beowulf.cons-cell :refer [make-beowulf-list make-cons-cell NIL T F]]
[beowulf.bootstrap :refer [CDR]]
[beowulf.host :refer :all]
[beowulf.read :refer [gsp]]))
(deftest destructive-change-test
(testing "RPLACA"
(let
[l (make-beowulf-list '(A B C D E))
target (CDR l)
expected "(A F C D E)"
actual (do (RPLACA target 'F) (print-str l))]
(is (= actual expected)))
)
(testing "RPLACA"
(let
[l (make-beowulf-list '(A B C D E))
target (CDR l)
expected "(A B . F)"
actual (do (RPLACD target 'F) (print-str l))]
(is (= actual expected)))
)
)