Skip to content

Commit dd7e98e

Browse files
More tweaks
1 parent 150a2d6 commit dd7e98e

File tree

4 files changed

+48
-74
lines changed

4 files changed

+48
-74
lines changed

exercises/practice/dnd-character/.meta/generator.clj

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
(fn [ability]
99
(-> test-case
1010
(update :path #(conj % (name ability)))
11-
(assoc :once (= (:description test-case) "each ability is only calculated once"))
1211
(assoc :ability (safe-str (str ability))))) random-abilities))
1312

1413
(defn- expand-test-case [test-case]

exercises/practice/dnd-character/.meta/generator.tpl

+6-9
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010

1111
(deftest rand-ability_test_1
1212
(testing "random ability is within range"
13-
(is (<= 3 (dnd-character/rand-ability) 18))))
13+
(dotimes [_ 100]
14+
(is (<= 3 (dnd-character/rand-ability) 18)))))
1415

1516
(deftest rand-ability_test_2
1617
(testing "ability is generated randomly"
@@ -19,20 +20,16 @@
1920
{{#test_cases.character}}
2021
(deftest rand-character_test_{{idx}}
2122
(testing {{description}}
22-
{{#if once ~}}
23-
(let [character (dnd-character/rand-character)]
24-
(is (= ({{ability}} character) ({{ability}} character))))))
25-
{{else~}}
26-
(is (<= 3 ({{ability}} (dnd-character/rand-character)) 18))))
27-
{{/if~}}
23+
(dotimes [_ 100]
24+
(is (<= 3 ({{ability}} (dnd-character/rand-character)) 18)))))
2825
{{/test_cases.character}}
2926

30-
(deftest rand-character_test_13
27+
(deftest rand-character_test_7
3128
(testing "random character is valid ▶ hitpoints"
3229
(let [character (dnd-character/rand-character)
3330
expected (+ 10 (dnd-character/score-modifier (:constitution character)))]
3431
(is (= expected (:hitpoints character))))))
3532

36-
(deftest rand-character_test_14
33+
(deftest rand-character_test_8
3734
(testing "random character is generated randomly"
3835
(is (>= (count (set (repeatedly 100 #(dnd-character/rand-character)))) 5))))

exercises/practice/dnd-character/.meta/tests.toml

+1
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,4 @@ include = false
7070
[dca2b2ec-f729-4551-84b9-078876bb4808]
7171
description = "each ability is only calculated once"
7272
reimplements = "2ca77b9b-c099-46c3-a02c-0d0f68ffa0fe"
73+
include = false

exercises/practice/dnd-character/test/dnd_character_test.clj

+41-64
Original file line numberDiff line numberDiff line change
@@ -2,138 +2,115 @@
22
(:require [clojure.test :refer [deftest testing is]]
33
dnd-character))
44

5-
(deftest modifier_test_1
5+
(deftest score-modifier_test_1
66
(testing "ability modifier for score 3 is -4"
77
(is (= -4 (dnd-character/score-modifier 3)))))
88

9-
(deftest modifier_test_2
9+
(deftest score-modifier_test_2
1010
(testing "ability modifier for score 4 is -3"
1111
(is (= -3 (dnd-character/score-modifier 4)))))
1212

13-
(deftest modifier_test_3
13+
(deftest score-modifier_test_3
1414
(testing "ability modifier for score 5 is -3"
1515
(is (= -3 (dnd-character/score-modifier 5)))))
1616

17-
(deftest modifier_test_4
17+
(deftest score-modifier_test_4
1818
(testing "ability modifier for score 6 is -2"
1919
(is (= -2 (dnd-character/score-modifier 6)))))
2020

21-
(deftest modifier_test_5
21+
(deftest score-modifier_test_5
2222
(testing "ability modifier for score 7 is -2"
2323
(is (= -2 (dnd-character/score-modifier 7)))))
2424

25-
(deftest modifier_test_6
25+
(deftest score-modifier_test_6
2626
(testing "ability modifier for score 8 is -1"
2727
(is (= -1 (dnd-character/score-modifier 8)))))
2828

29-
(deftest modifier_test_7
29+
(deftest score-modifier_test_7
3030
(testing "ability modifier for score 9 is -1"
3131
(is (= -1 (dnd-character/score-modifier 9)))))
3232

33-
(deftest modifier_test_8
33+
(deftest score-modifier_test_8
3434
(testing "ability modifier for score 10 is 0"
3535
(is (= 0 (dnd-character/score-modifier 10)))))
3636

37-
(deftest modifier_test_9
37+
(deftest score-modifier_test_9
3838
(testing "ability modifier for score 11 is 0"
3939
(is (= 0 (dnd-character/score-modifier 11)))))
4040

41-
(deftest modifier_test_10
41+
(deftest score-modifier_test_10
4242
(testing "ability modifier for score 12 is +1"
4343
(is (= 1 (dnd-character/score-modifier 12)))))
4444

45-
(deftest modifier_test_11
45+
(deftest score-modifier_test_11
4646
(testing "ability modifier for score 13 is +1"
4747
(is (= 1 (dnd-character/score-modifier 13)))))
4848

49-
(deftest modifier_test_12
49+
(deftest score-modifier_test_12
5050
(testing "ability modifier for score 14 is +2"
5151
(is (= 2 (dnd-character/score-modifier 14)))))
5252

53-
(deftest modifier_test_13
53+
(deftest score-modifier_test_13
5454
(testing "ability modifier for score 15 is +2"
5555
(is (= 2 (dnd-character/score-modifier 15)))))
5656

57-
(deftest modifier_test_14
57+
(deftest score-modifier_test_14
5858
(testing "ability modifier for score 16 is +3"
5959
(is (= 3 (dnd-character/score-modifier 16)))))
6060

61-
(deftest modifier_test_15
61+
(deftest score-modifier_test_15
6262
(testing "ability modifier for score 17 is +3"
6363
(is (= 3 (dnd-character/score-modifier 17)))))
6464

65-
(deftest modifier_test_16
65+
(deftest score-modifier_test_16
6666
(testing "ability modifier for score 18 is +4"
6767
(is (= 4 (dnd-character/score-modifier 18)))))
6868

69-
(deftest ability_test_1
69+
(deftest rand-ability_test_1
7070
(testing "random ability is within range"
71-
(is (<= 3 (dnd-character/rand-ability) 18))))
71+
(dotimes [_ 100]
72+
(is (<= 3 (dnd-character/rand-ability) 18)))))
7273

73-
(deftest ability_test_2
74+
(deftest rand-ability_test_2
7475
(testing "ability is generated randomly"
7576
(is (>= (count (set (repeatedly 100 #(dnd-character/rand-ability)))) 5))))
7677

77-
(deftest character_test_1
78+
(deftest rand-character_test_1
7879
(testing "random character is valid ▶ strength"
79-
(is (<= 3 (:strength (dnd-character/rand-character)) 18))))
80+
(dotimes [_ 100]
81+
(is (<= 3 (:strength (dnd-character/rand-character)) 18)))))
8082

81-
(deftest character_test_2
83+
(deftest rand-character_test_2
8284
(testing "random character is valid ▶ dexterity"
83-
(is (<= 3 (:dexterity (dnd-character/rand-character)) 18))))
85+
(dotimes [_ 100]
86+
(is (<= 3 (:dexterity (dnd-character/rand-character)) 18)))))
8487

85-
(deftest character_test_3
88+
(deftest rand-character_test_3
8689
(testing "random character is valid ▶ charisma"
87-
(is (<= 3 (:charisma (dnd-character/rand-character)) 18))))
90+
(dotimes [_ 100]
91+
(is (<= 3 (:charisma (dnd-character/rand-character)) 18)))))
8892

89-
(deftest character_test_4
93+
(deftest rand-character_test_4
9094
(testing "random character is valid ▶ wisdom"
91-
(is (<= 3 (:wisdom (dnd-character/rand-character)) 18))))
95+
(dotimes [_ 100]
96+
(is (<= 3 (:wisdom (dnd-character/rand-character)) 18)))))
9297

93-
(deftest character_test_5
98+
(deftest rand-character_test_5
9499
(testing "random character is valid ▶ intelligence"
95-
(is (<= 3 (:intelligence (dnd-character/rand-character)) 18))))
100+
(dotimes [_ 100]
101+
(is (<= 3 (:intelligence (dnd-character/rand-character)) 18)))))
96102

97-
(deftest character_test_6
103+
(deftest rand-character_test_6
98104
(testing "random character is valid ▶ constitution"
99-
(is (<= 3 (:constitution (dnd-character/rand-character)) 18))))
100-
101-
(deftest character_test_7
102-
(testing "each ability is only calculated once ▶ strength"
103-
(let [character (dnd-character/rand-character)]
104-
(is (= (:strength character) (:strength character))))))
105-
106-
(deftest character_test_8
107-
(testing "each ability is only calculated once ▶ dexterity"
108-
(let [character (dnd-character/rand-character)]
109-
(is (= (:dexterity character) (:dexterity character))))))
110-
111-
(deftest character_test_9
112-
(testing "each ability is only calculated once ▶ charisma"
113-
(let [character (dnd-character/rand-character)]
114-
(is (= (:charisma character) (:charisma character))))))
115-
116-
(deftest character_test_10
117-
(testing "each ability is only calculated once ▶ wisdom"
118-
(let [character (dnd-character/rand-character)]
119-
(is (= (:wisdom character) (:wisdom character))))))
120-
121-
(deftest character_test_11
122-
(testing "each ability is only calculated once ▶ intelligence"
123-
(let [character (dnd-character/rand-character)]
124-
(is (= (:intelligence character) (:intelligence character))))))
125-
126-
(deftest character_test_12
127-
(testing "each ability is only calculated once ▶ constitution"
128-
(let [character (dnd-character/rand-character)]
129-
(is (= (:constitution character) (:constitution character))))))
130-
131-
(deftest character_test_13
105+
(dotimes [_ 100]
106+
(is (<= 3 (:constitution (dnd-character/rand-character)) 18)))))
107+
108+
(deftest rand-character_test_7
132109
(testing "random character is valid ▶ hitpoints"
133110
(let [character (dnd-character/rand-character)
134111
expected (+ 10 (dnd-character/score-modifier (:constitution character)))]
135112
(is (= expected (:hitpoints character))))))
136113

137-
(deftest character_test_14
114+
(deftest rand-character_test_8
138115
(testing "random character is generated randomly"
139116
(is (>= (count (set (repeatedly 100 #(dnd-character/rand-character)))) 5))))

0 commit comments

Comments
 (0)