Skip to content

Commit c0dd4f0

Browse files
authored
annalyns-infiltration: Add the ability to select which tests to run (#875)
1 parent 2504714 commit c0dd4f0

2 files changed

Lines changed: 39 additions & 31 deletions

File tree

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
(defproject annalyns-infiltration "0.1.0-SNAPSHOT"
22
:description "annalyns-infiltration exercise."
33
:url "https://github.com/exercism/clojure/tree/main/exercises/concept/annalyns-infiltration"
4-
:dependencies [[org.clojure/clojure "1.12.0"]])
4+
:dependencies [[org.clojure/clojure "1.12.0"]]
5+
:test-selectors {:task-1 :task-1
6+
:task-2 :task-2
7+
:task-3 :task-3
8+
:task-4 :task-4
9+
:can-fast-attack? :can-fast-attack?
10+
:can-spy? :can-spy?
11+
:can-signal-prisoner? :can-signal-prisoner?
12+
:can-free-prisoner? :can-free-prisoner?})

exercises/concept/annalyns-infiltration/test/annalyns_infiltration_test.clj

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,122 +2,122 @@
22
(:require annalyns-infiltration
33
[clojure.test :refer [deftest is testing]]))
44

5-
(deftest ^{:task 1} fast-attack-awake-test
5+
(deftest ^{:task 1 :task-1 true :can-fast-attack? true} fast-attack-awake-test
66
(testing "Fast attack if knight is awake"
77
(is (= false (annalyns-infiltration/can-fast-attack? true)))))
88

9-
(deftest ^{:task 1} fast-attack-asleep-test
9+
(deftest ^{:task 1 :task-1 true :can-fast-attack? true} fast-attack-asleep-test
1010
(testing "Fast attack if knight is sleeping"
1111
(is (= true (annalyns-infiltration/can-fast-attack? false)))))
1212

13-
(deftest ^{:task 2} spy-everyone-sleeping-test
13+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-everyone-sleeping-test
1414
(testing "Cannot spy if everyone is sleeping"
1515
(is (= false (annalyns-infiltration/can-spy? false false false)))))
1616

17-
(deftest ^{:task 2} spy-but-knight-sleeping-test
17+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-knight-sleeping-test
1818
(testing "Can spy if everyone but knight is sleeping"
1919
(is (= true (annalyns-infiltration/can-spy? true false false)))))
2020

21-
(deftest ^{:task 2} spy-but-archer-sleeping-test
21+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-archer-sleeping-test
2222
(testing "Can spy if everyone but archer is sleeping"
2323
(is (= true (annalyns-infiltration/can-spy? false true false)))))
2424

25-
(deftest ^{:task 2} spy-but-prisoner-sleeping-test
25+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-but-prisoner-sleeping-test
2626
(testing "Can spy if everyone but prisoner is sleeping"
2727
(is (= true (annalyns-infiltration/can-spy? false false true)))))
2828

29-
(deftest ^{:task 2} spy-only-knight-sleeping-test
29+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-knight-sleeping-test
3030
(testing "Can spy if only knight is sleeping"
3131
(is (= true (annalyns-infiltration/can-spy? false true true)))))
3232

33-
(deftest ^{:task 2} spy-only-archer-sleeping-test
33+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-archer-sleeping-test
3434
(testing "Can spy if only archer is sleeping"
3535
(is (= true (annalyns-infiltration/can-spy? true false true)))))
3636

37-
(deftest ^{:task 2} spy-only-prisoner-sleeping-test
37+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-only-prisoner-sleeping-test
3838
(testing "Can spy if only prisoner is sleeping"
3939
(is (= true (annalyns-infiltration/can-spy? true true false)))))
4040

41-
(deftest ^{:task 2} spy-everyone-awake-test
41+
(deftest ^{:task 2 :task-2 true :can-spy? true} spy-everyone-awake-test
4242
(testing "Can spy if everyone is awake"
4343
(is (= true (annalyns-infiltration/can-spy? true true true)))))
4444

45-
(deftest ^{:task 3} signal-prisoner-archer-sleeping-prisoner-awake-test
45+
(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-archer-sleeping-prisoner-awake-test
4646
(testing "Can signal prisoner if archer is sleeping and prisoner is awake"
4747
(is (= true (annalyns-infiltration/can-signal-prisoner? false true)))))
4848

49-
(deftest ^{:task 3} signal-prisoner-archer-awake-prisoner-sleeping-test
49+
(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-archer-awake-prisoner-sleeping-test
5050
(testing "Cannot signal prisoner if archer is awake and prisoner is sleeping"
5151
(is (= false (annalyns-infiltration/can-signal-prisoner? true false)))))
5252

53-
(deftest ^{:task 3} signal-prisoner-both-sleeping-test
53+
(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-both-sleeping-test
5454
(testing "Cannot signal prisoner if archer and prisoner are both sleeping"
5555
(is (= false (annalyns-infiltration/can-signal-prisoner? false false)))))
5656

57-
(deftest ^{:task 3} signal-prisoner-both-awake-test
57+
(deftest ^{:task 3 :task-3 true :can-signal-prisoner? true} signal-prisoner-both-awake-test
5858
(testing "Cannot signal prisoner if archer and prisoner are both awake"
5959
(is (= false (annalyns-infiltration/can-signal-prisoner? true true)))))
6060

61-
(deftest ^{:task 4} release-prisoner-everyone-awake-dog-present-test
61+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-awake-dog-present-test
6262
(testing "Cannot release prisoner if everyone is awake and pet dog is present"
6363
(is (= false (annalyns-infiltration/can-free-prisoner? true true true true)))))
6464

65-
(deftest ^{:task 4} release-prisoner-everyone-awake-dog-absent-test
65+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-awake-dog-absent-test
6666
(testing "Cannot release prisoner if everyone is awake and pet dog is absent"
6767
(is (= false (annalyns-infiltration/can-free-prisoner? true true true false)))))
6868

69-
(deftest ^{:task 4} release-prisoner-everyone-asleep-dog-absent-test
69+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-asleep-dog-absent-test
7070
(testing "Cannot release prisoner if everyone is asleep and pet dog is absent"
7171
(is (= false (annalyns-infiltration/can-free-prisoner? false false false false)))))
7272

73-
(deftest ^{:task 4} release-prisoner-archer-awake-dog-present-test
73+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-awake-dog-present-test
7474
(testing "Cannot release prisoner if only archer is awake and pet dog is present"
7575
(is (= false (annalyns-infiltration/can-free-prisoner? false true false true)))))
7676

77-
(deftest ^{:task 4} release-prisoner-archer-awake-dog-absent-test
77+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-awake-dog-absent-test
7878
(testing "Cannot release prisoner if only archer is awake and pet dog is absent"
7979
(is (= false (annalyns-infiltration/can-free-prisoner? false true false false)))))
8080

81-
(deftest ^{:task 4} release-prisoner-knight-awake-dog-absent-test
81+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-awake-dog-absent-test
8282
(testing "Cannot release prisoner if only knight is awake and pet dog is absent"
8383
(is (= false (annalyns-infiltration/can-free-prisoner? true false false false)))))
8484

85-
(deftest ^{:task 4} release-prisoner-knight-awake-dog-present-test
85+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-asleep-dog-present-test
8686
(testing "Cannot release prisoner if only knight is asleep and pet dog is present"
8787
(is (= false (annalyns-infiltration/can-free-prisoner? false true true true)))))
8888

89-
(deftest ^{:task 4} release-prisoner-knight-asleep-dog-absent-test
89+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-asleep-dog-absent-test
9090
(testing "Cannot release prisoner if only knight is asleep and pet dog is absent"
9191
(is (= false (annalyns-infiltration/can-free-prisoner? false true true false)))))
9292

93-
(deftest ^{:task 4} release-prisoner-archer-asleep-dog-absent-test
93+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-asleep-dog-absent-test
9494
(testing "Cannot release prisoner if only archer is asleep and pet dog is absent"
9595
(is (= false (annalyns-infiltration/can-free-prisoner? true false true false)))))
9696

97-
(deftest ^{:task 4} release-prisoner-prisoner-asleep-dog-present-test
97+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-asleep-dog-present-test
9898
(testing "Cannot release prisoner if only prisoner is asleep and pet dog is present"
9999
(is (= false (annalyns-infiltration/can-free-prisoner? true true false true)))))
100100

101-
(deftest ^{:task 4} release-prisoner-prisoner-asleep-dog-absent-test
101+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-asleep-dog-absent-test
102102
(testing "Cannot release prisoner if only prisoner is asleep and pet dog is absent"
103103
(is (= false (annalyns-infiltration/can-free-prisoner? true true false false)))))
104104

105-
(deftest ^{:task 4} release-prisoner-everyone-asleep-dog-present-test
105+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-everyone-asleep-dog-present-test
106106
(testing "Can release prisoner if everyone is asleep and pet dog is present"
107107
(is (= true (annalyns-infiltration/can-free-prisoner? false false false true)))))
108108

109-
(deftest ^{:task 4} release-prisoner-prisoner-awake-dog-present-test
109+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-awake-dog-present-test
110110
(testing "Can release prisoner if only prisoner is awake and pet dog is present"
111111
(is (= true (annalyns-infiltration/can-free-prisoner? false false true true)))))
112112

113-
(deftest ^{:task 4} release-prisoner-prisoner-awake-dog-absent-test
113+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-prisoner-awake-dog-absent-test
114114
(testing "Can release prisoner if only prisoner is awake and pet dog is absent"
115115
(is (= true (annalyns-infiltration/can-free-prisoner? false false true false)))))
116116

117-
(deftest ^{:task 4} release-prisoner-knight-awake-dog-present-test
117+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-knight-awake-dog-present-test
118118
(testing "Can release prisoner if only knight is awake and pet dog is present"
119119
(is (= true (annalyns-infiltration/can-free-prisoner? true false false true)))))
120120

121-
(deftest ^{:task 4} release-prisoner-archer-asleep-dog-present-test
121+
(deftest ^{:task 4 :task-4 true :can-free-prisoner? true} release-prisoner-archer-asleep-dog-present-test
122122
(testing "Can release prisoner if only archer is asleep and pet dog is present"
123123
(is (= true (annalyns-infiltration/can-free-prisoner? true false true true)))))

0 commit comments

Comments
 (0)