Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion exercises/concept/annalyns-infiltration/project.clj
Original file line number Diff line number Diff line change
@@ -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?})
Original file line number Diff line number Diff line change
Expand Up @@ -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)))))
Loading