diff --git a/exercises/practice/dnd-character/.meta/generator.tpl b/exercises/practice/dnd-character/.meta/generator.tpl index c6a25131f..a70fab509 100644 --- a/exercises/practice/dnd-character/.meta/generator.tpl +++ b/exercises/practice/dnd-character/.meta/generator.tpl @@ -3,33 +3,33 @@ dnd-character)) {{#test_cases.modifier}} -(deftest score-modifier_test_{{idx}} +(deftest ^:score-modifier score-modifier_test_{{idx}} (testing {{context}} (is (= {{expected}} (dnd-character/score-modifier {{input.score}}))))) {{/test_cases.modifier}} -(deftest rand-ability_test_1 +(deftest ^:rand-ability rand-ability_test_1 (testing "random ability is within range" (dotimes [_ 100] (is (<= 3 (dnd-character/rand-ability) 18))))) -(deftest rand-ability_test_2 +(deftest ^:rand-ability rand-ability_test_2 (testing "ability is generated randomly" (is (>= (count (set (repeatedly 100 #(dnd-character/rand-ability)))) 5)))) {{#test_cases.character}} -(deftest rand-character_test_{{idx}} +(deftest ^:rand-character rand-character_test_{{idx}} (testing {{context}} (dotimes [_ 100] (is (<= 3 ({{ability}} (dnd-character/rand-character)) 18))))) {{/test_cases.character}} -(deftest rand-character_test_7 +(deftest ^:rand-character rand-character_test_7 (testing "random character is valid ▶ hitpoints" (let [character (dnd-character/rand-character) expected (+ 10 (dnd-character/score-modifier (:constitution character)))] (is (= expected (:hitpoints character)))))) -(deftest rand-character_test_8 +(deftest ^:rand-character rand-character_test_8 (testing "random character is generated randomly" (is (>= (count (set (repeatedly 100 #(dnd-character/rand-character)))) 5)))) diff --git a/exercises/practice/dnd-character/project.clj b/exercises/practice/dnd-character/project.clj index f8e5af929..cca16e59c 100644 --- a/exercises/practice/dnd-character/project.clj +++ b/exercises/practice/dnd-character/project.clj @@ -1,4 +1,7 @@ (defproject dnd-character "0.1.0-SNAPSHOT" :description "dnd-character exercise." :url "https://github.com/exercism/clojure/tree/main/exercises/practice/dnd-character" - :dependencies [[org.clojure/clojure "1.12.0"]]) + :dependencies [[org.clojure/clojure "1.12.0"]] + :test-selectors {:score-modifier :score-modifier + :rand-ability :rand-ability + :rand-character :rand-character}) diff --git a/exercises/practice/dnd-character/test/dnd_character_test.clj b/exercises/practice/dnd-character/test/dnd_character_test.clj index af5e81ff4..e0e3c699a 100644 --- a/exercises/practice/dnd-character/test/dnd_character_test.clj +++ b/exercises/practice/dnd-character/test/dnd_character_test.clj @@ -2,115 +2,115 @@ (:require [clojure.test :refer [deftest testing is]] dnd-character)) -(deftest score-modifier_test_1 +(deftest ^:score-modifier score-modifier_test_1 (testing "ability modifier for score 3 is -4" (is (= -4 (dnd-character/score-modifier 3))))) -(deftest score-modifier_test_2 +(deftest ^:score-modifier score-modifier_test_2 (testing "ability modifier for score 4 is -3" (is (= -3 (dnd-character/score-modifier 4))))) -(deftest score-modifier_test_3 +(deftest ^:score-modifier score-modifier_test_3 (testing "ability modifier for score 5 is -3" (is (= -3 (dnd-character/score-modifier 5))))) -(deftest score-modifier_test_4 +(deftest ^:score-modifier score-modifier_test_4 (testing "ability modifier for score 6 is -2" (is (= -2 (dnd-character/score-modifier 6))))) -(deftest score-modifier_test_5 +(deftest ^:score-modifier score-modifier_test_5 (testing "ability modifier for score 7 is -2" (is (= -2 (dnd-character/score-modifier 7))))) -(deftest score-modifier_test_6 +(deftest ^:score-modifier score-modifier_test_6 (testing "ability modifier for score 8 is -1" (is (= -1 (dnd-character/score-modifier 8))))) -(deftest score-modifier_test_7 +(deftest ^:score-modifier score-modifier_test_7 (testing "ability modifier for score 9 is -1" (is (= -1 (dnd-character/score-modifier 9))))) -(deftest score-modifier_test_8 +(deftest ^:score-modifier score-modifier_test_8 (testing "ability modifier for score 10 is 0" (is (= 0 (dnd-character/score-modifier 10))))) -(deftest score-modifier_test_9 +(deftest ^:score-modifier score-modifier_test_9 (testing "ability modifier for score 11 is 0" (is (= 0 (dnd-character/score-modifier 11))))) -(deftest score-modifier_test_10 +(deftest ^:score-modifier score-modifier_test_10 (testing "ability modifier for score 12 is +1" (is (= 1 (dnd-character/score-modifier 12))))) -(deftest score-modifier_test_11 +(deftest ^:score-modifier score-modifier_test_11 (testing "ability modifier for score 13 is +1" (is (= 1 (dnd-character/score-modifier 13))))) -(deftest score-modifier_test_12 +(deftest ^:score-modifier score-modifier_test_12 (testing "ability modifier for score 14 is +2" (is (= 2 (dnd-character/score-modifier 14))))) -(deftest score-modifier_test_13 +(deftest ^:score-modifier score-modifier_test_13 (testing "ability modifier for score 15 is +2" (is (= 2 (dnd-character/score-modifier 15))))) -(deftest score-modifier_test_14 +(deftest ^:score-modifier score-modifier_test_14 (testing "ability modifier for score 16 is +3" (is (= 3 (dnd-character/score-modifier 16))))) -(deftest score-modifier_test_15 +(deftest ^:score-modifier score-modifier_test_15 (testing "ability modifier for score 17 is +3" (is (= 3 (dnd-character/score-modifier 17))))) -(deftest score-modifier_test_16 +(deftest ^:score-modifier score-modifier_test_16 (testing "ability modifier for score 18 is +4" (is (= 4 (dnd-character/score-modifier 18))))) -(deftest rand-ability_test_1 +(deftest ^:rand-ability rand-ability_test_1 (testing "random ability is within range" (dotimes [_ 100] (is (<= 3 (dnd-character/rand-ability) 18))))) -(deftest rand-ability_test_2 +(deftest ^:rand-ability rand-ability_test_2 (testing "ability is generated randomly" (is (>= (count (set (repeatedly 100 #(dnd-character/rand-ability)))) 5)))) -(deftest rand-character_test_1 +(deftest ^:rand-character rand-character_test_1 (testing "random character is valid ▶ strength" (dotimes [_ 100] (is (<= 3 (:strength (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_2 +(deftest ^:rand-character rand-character_test_2 (testing "random character is valid ▶ dexterity" (dotimes [_ 100] (is (<= 3 (:dexterity (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_3 +(deftest ^:rand-character rand-character_test_3 (testing "random character is valid ▶ charisma" (dotimes [_ 100] (is (<= 3 (:charisma (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_4 +(deftest ^:rand-character rand-character_test_4 (testing "random character is valid ▶ wisdom" (dotimes [_ 100] (is (<= 3 (:wisdom (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_5 +(deftest ^:rand-character rand-character_test_5 (testing "random character is valid ▶ intelligence" (dotimes [_ 100] (is (<= 3 (:intelligence (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_6 +(deftest ^:rand-character rand-character_test_6 (testing "random character is valid ▶ constitution" (dotimes [_ 100] (is (<= 3 (:constitution (dnd-character/rand-character)) 18))))) -(deftest rand-character_test_7 +(deftest ^:rand-character rand-character_test_7 (testing "random character is valid ▶ hitpoints" (let [character (dnd-character/rand-character) expected (+ 10 (dnd-character/score-modifier (:constitution character)))] (is (= expected (:hitpoints character)))))) -(deftest rand-character_test_8 +(deftest ^:rand-character rand-character_test_8 (testing "random character is generated randomly" (is (>= (count (set (repeatedly 100 #(dnd-character/rand-character)))) 5)))) \ No newline at end of file