From 63e029dc511f369670b06eba31b9c2744b106120 Mon Sep 17 00:00:00 2001 From: Kristin Rutenkolk Date: Wed, 30 Oct 2024 15:13:42 +0100 Subject: [PATCH] fix mem test to not create structs in in `are` clauses --- test/clj/coffi/mem_test.clj | 56 ++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/test/clj/coffi/mem_test.clj b/test/clj/coffi/mem_test.clj index 25a7f72..ae0fea8 100644 --- a/test/clj/coffi/mem_test.clj +++ b/test/clj/coffi/mem_test.clj @@ -40,32 +40,34 @@ (t/is (TestType. 5 10 15))) (t/deftest can-use-common-map-functions - (t/are [x y] (= x (y (TestType. 5 10 15))) - 5 :a - 10 :b - 15 :c - 5 #(% :a) - 10 #(% :b) - 15 #(% :c) - 5 #(get :a) - 10 #(get :b) - 15 #(get :c) - 20 #(get :d 20) - nil #(get :d) - [:a :b :c] keys - [5 10 15] vals - {:a 5 :c 15} #(dissoc % :b) - {:a 5 :b 10 :c 0} #(assoc % :c 0) - {:a 5 :b 10 :c 15 :d 20} #(assoc % :d 20) - [[:a 5] [:b 10] [:c 15]] seq - {:a 5 :b 10 :c 15 :d 20} #(merge % {:d 20}) - {:a [5 6] :b [10 11] :c [15 16]} #(merge-with vector % {:a 6 :b 11 :c 16}) - {:a [5 6] :b [10 11] :c [15 16]} #(merge-with vector % (TestType. 6 11 16)) - [:a 5] #(find % :a) - nil #(find % :d) - {:a 5 :b 10 :c 15} identity - (TestType. 5 10 15) identity - (TestType. 5 10 15) (fn [s] {:a 5 :b 10 :c 15}))) + (let [v1 (TestType. 5 10 15) + v2 (TestType. 6 11 16)] + (t/are [x y] (= x (y v1)) + 5 :a + 10 :b + 15 :c + 5 (fn [v] (v :a)) + 10 (fn [v] (v :b)) + 15 (fn [v] (v :c)) + 5 #(get % :a) + 10 #(get % :b) + 15 #(get % :c) + 20 #(get % :d 20) + nil #(get % :d) + [:a :b :c] keys + [5 10 15] vals + {:a 5 :c 15} #(dissoc % :b) + {:a 5 :b 10 :c 0} #(assoc % :c 0) + {:a 5 :b 10 :c 15 :d 20} #(assoc % :d 20) + [[:a 5] [:b 10] [:c 15]] seq + {:a 5 :b 10 :c 15 :d 20} #(merge % {:d 20}) + {:a [5 6] :b [10 11] :c [15 16]} #(merge-with vector % {:a 6 :b 11 :c 16}) + {:a [5 6] :b [10 11] :c [15 16]} #(merge-with vector % v2) + [:a 5] #(find % :a) + nil #(find % :d) + {:a 5 :b 10 :c 15} identity + v1 identity + v1 (fn [s] {:a 5 :b 10 :c 15})))) (t/deftest can-serialize-struct-type (t/is @@ -81,6 +83,8 @@ (eval `(mem/defstruct ~'NestedTestType [::mem/int ~'x ::mem/byte ~'y ::TestType ~'z])))) +(mem/defstruct NestedTestType [::mem/int x ::mem/byte y ::TestType z]) + (t/deftest can-instantiated-nested-structs (t/is (= {:x 5 :y 6 :z {:a 5 :b 10 :c 15}}