From 54c44a49b642aed16e739c1c5f4207a69890c5ec Mon Sep 17 00:00:00 2001 From: Erik Rauer Date: Tue, 16 Mar 2021 22:54:07 -0500 Subject: [PATCH] Add test for `string/contains-char` This adds a test for the `string/contains-char` instruction --- .../push/instructions/string_spec.clj | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/test/propeller/push/instructions/string_spec.clj b/test/propeller/push/instructions/string_spec.clj index a10936c..c4a9486 100644 --- a/test/propeller/push/instructions/string_spec.clj +++ b/test/propeller/push/instructions/string_spec.clj @@ -77,4 +77,22 @@ (defspec contains-spec 100 (prop/for-all [str1 gen/string str2 gen/string] - (check-contains str1 str2))) \ No newline at end of file + (check-contains str1 str2))) + + +;; string/contains-char + +(defn check-contains-char + [value char] + (let [start-state (-> state/empty-state + (state/push-to-stack :string value) + (state/push-to-stack :char char)) + end-state ((:string_contains-char @core/instruction-table) start-state) + expected-result (string/includes? value char)] + (= expected-result + (state/peek-stack end-state :string)))) + +(defspec contains-char-spec 100 + (prop/for-all [str gen/string + char gen/string] + (check-concat str char))) \ No newline at end of file