diff --git a/exercises/concept/annalyns-infiltration/project.clj b/exercises/concept/annalyns-infiltration/project.clj index ded96b0a8..07564f44b 100644 --- a/exercises/concept/annalyns-infiltration/project.clj +++ b/exercises/concept/annalyns-infiltration/project.clj @@ -1,4 +1,12 @@ (defproject annalyns-infiltration "0.1.0-SNAPSHOT" :description "annalyns-infiltration exercise." :url "https://github.com/exercism/clojure/tree/main/exercises/concept/annalyns-infiltration" - :dependencies [[org.clojure/clojure "1.12.0"]]) + :dependencies [[org.clojure/clojure "1.12.0"]] + :test-selectors {:task-1 :task-1 + :task-2 :task-2 + :task-3 :task-3 + :task-4 :task-4 + :can-fast-attack? :can-fast-attack? + :can-spy? :can-spy? + :can-signal-prisoner? :can-signal-prisoner? + :can-free-prisoner? :can-free-prisoner?}) diff --git a/exercises/concept/annalyns-infiltration/test/annalyns_infiltration_test.clj b/exercises/concept/annalyns-infiltration/test/annalyns_infiltration_test.clj index 5a9f03d7c..8d284676e 100644 --- a/exercises/concept/annalyns-infiltration/test/annalyns_infiltration_test.clj +++ b/exercises/concept/annalyns-infiltration/test/annalyns_infiltration_test.clj @@ -2,122 +2,122 @@ (:require annalyns-infiltration [clojure.test :refer [deftest is testing]])) -(deftest ^{:task 1} fast-attack-awake-test +(deftest ^{:task 1 :task-1 true :can-fast-attack? true} fast-attack-awake-test (testing "Fast attack if knight is awake" (is (= false (annalyns-infiltration/can-fast-attack? true))))) -(deftest ^{:task 1} fast-attack-asleep-test +(deftest ^{:task 1 :task-1 true :can-fast-attack? true} fast-attack-asleep-test (testing "Fast attack if knight is sleeping" (is (= true (annalyns-infiltration/can-fast-attack? false))))) -(deftest ^{:task 2} spy-everyone-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-everyone-sleeping-test (testing "Cannot spy if everyone is sleeping" (is (= false (annalyns-infiltration/can-spy? false false false))))) -(deftest ^{:task 2} spy-but-knight-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-knight-sleeping-test (testing "Can spy if everyone but knight is sleeping" (is (= true (annalyns-infiltration/can-spy? true false false))))) -(deftest ^{:task 2} spy-but-archer-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-archer-sleeping-test (testing "Can spy if everyone but archer is sleeping" (is (= true (annalyns-infiltration/can-spy? false true false))))) -(deftest ^{:task 2} spy-but-prisoner-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-prisoner-sleeping-test (testing "Can spy if everyone but prisoner is sleeping" (is (= true (annalyns-infiltration/can-spy? false false true))))) -(deftest ^{:task 2} spy-only-knight-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-knight-sleeping-test (testing "Can spy if only knight is sleeping" (is (= true (annalyns-infiltration/can-spy? false true true))))) -(deftest ^{:task 2} spy-only-archer-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-archer-sleeping-test (testing "Can spy if only archer is sleeping" (is (= true (annalyns-infiltration/can-spy? true false true))))) -(deftest ^{:task 2} spy-only-prisoner-sleeping-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-prisoner-sleeping-test (testing "Can spy if only prisoner is sleeping" (is (= true (annalyns-infiltration/can-spy? true true false))))) -(deftest ^{:task 2} spy-everyone-awake-test +(deftest ^{:task 2 :task-2 true :can-spy? true} spy-everyone-awake-test (testing "Can spy if everyone is awake" (is (= true (annalyns-infiltration/can-spy? true true true))))) -(deftest ^{:task 3} signal-prisoner-archer-sleeping-prisoner-awake-test +(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-archer-sleeping-prisoner-awake-test (testing "Can signal prisoner if archer is sleeping and prisoner is awake" (is (= true (annalyns-infiltration/can-signal-prisoner? false true))))) -(deftest ^{:task 3} signal-prisoner-archer-awake-prisoner-sleeping-test +(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-archer-awake-prisoner-sleeping-test (testing "Cannot signal prisoner if archer is awake and prisoner is sleeping" (is (= false (annalyns-infiltration/can-signal-prisoner? true false))))) -(deftest ^{:task 3} signal-prisoner-both-sleeping-test +(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-both-sleeping-test (testing "Cannot signal prisoner if archer and prisoner are both sleeping" (is (= false (annalyns-infiltration/can-signal-prisoner? false false))))) -(deftest ^{:task 3} signal-prisoner-both-awake-test +(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-both-awake-test (testing "Cannot signal prisoner if archer and prisoner are both awake" (is (= false (annalyns-infiltration/can-signal-prisoner? true true))))) -(deftest ^{:task 4} release-prisoner-everyone-awake-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-awake-dog-present-test (testing "Cannot release prisoner if everyone is awake and pet dog is present" (is (= false (annalyns-infiltration/can-free-prisoner? true true true true))))) -(deftest ^{:task 4} release-prisoner-everyone-awake-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-awake-dog-absent-test (testing "Cannot release prisoner if everyone is awake and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? true true true false))))) -(deftest ^{:task 4} release-prisoner-everyone-asleep-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-asleep-dog-absent-test (testing "Cannot release prisoner if everyone is asleep and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? false false false false))))) -(deftest ^{:task 4} release-prisoner-archer-awake-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-awake-dog-present-test (testing "Cannot release prisoner if only archer is awake and pet dog is present" (is (= false (annalyns-infiltration/can-free-prisoner? false true false true))))) -(deftest ^{:task 4} release-prisoner-archer-awake-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-awake-dog-absent-test (testing "Cannot release prisoner if only archer is awake and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? false true false false))))) -(deftest ^{:task 4} release-prisoner-knight-awake-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-awake-dog-absent-test (testing "Cannot release prisoner if only knight is awake and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? true false false false))))) -(deftest ^{:task 4} release-prisoner-knight-awake-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-asleep-dog-present-test (testing "Cannot release prisoner if only knight is asleep and pet dog is present" (is (= false (annalyns-infiltration/can-free-prisoner? false true true true))))) -(deftest ^{:task 4} release-prisoner-knight-asleep-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-asleep-dog-absent-test (testing "Cannot release prisoner if only knight is asleep and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? false true true false))))) -(deftest ^{:task 4} release-prisoner-archer-asleep-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-asleep-dog-absent-test (testing "Cannot release prisoner if only archer is asleep and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? true false true false))))) -(deftest ^{:task 4} release-prisoner-prisoner-asleep-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-asleep-dog-present-test (testing "Cannot release prisoner if only prisoner is asleep and pet dog is present" (is (= false (annalyns-infiltration/can-free-prisoner? true true false true))))) -(deftest ^{:task 4} release-prisoner-prisoner-asleep-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-asleep-dog-absent-test (testing "Cannot release prisoner if only prisoner is asleep and pet dog is absent" (is (= false (annalyns-infiltration/can-free-prisoner? true true false false))))) -(deftest ^{:task 4} release-prisoner-everyone-asleep-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-asleep-dog-present-test (testing "Can release prisoner if everyone is asleep and pet dog is present" (is (= true (annalyns-infiltration/can-free-prisoner? false false false true))))) -(deftest ^{:task 4} release-prisoner-prisoner-awake-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-awake-dog-present-test (testing "Can release prisoner if only prisoner is awake and pet dog is present" (is (= true (annalyns-infiltration/can-free-prisoner? false false true true))))) -(deftest ^{:task 4} release-prisoner-prisoner-awake-dog-absent-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-awake-dog-absent-test (testing "Can release prisoner if only prisoner is awake and pet dog is absent" (is (= true (annalyns-infiltration/can-free-prisoner? false false true false))))) -(deftest ^{:task 4} release-prisoner-knight-awake-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-awake-dog-present-test (testing "Can release prisoner if only knight is awake and pet dog is present" (is (= true (annalyns-infiltration/can-free-prisoner? true false false true))))) -(deftest ^{:task 4} release-prisoner-archer-asleep-dog-present-test +(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-asleep-dog-present-test (testing "Can release prisoner if only archer is asleep and pet dog is present" (is (= true (annalyns-infiltration/can-free-prisoner? true false true true)))))