From 19004a7ad587f543909a9b5339e0491a90a8af10 Mon Sep 17 00:00:00 2001 From: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com> Date: Sat, 4 Apr 2026 05:34:13 +0300 Subject: [PATCH] run-length-encoding: Add the ability to select which tests to run --- .../run-length-encoding/.meta/generator.tpl | 4 ++-- .../practice/run-length-encoding/project.clj | 4 +++- .../test/run_length_encoding_test.clj | 24 +++++++++---------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/exercises/practice/run-length-encoding/.meta/generator.tpl b/exercises/practice/run-length-encoding/.meta/generator.tpl index d708390ad..34feccf55 100644 --- a/exercises/practice/run-length-encoding/.meta/generator.tpl +++ b/exercises/practice/run-length-encoding/.meta/generator.tpl @@ -3,14 +3,14 @@ run-length-encoding)) {{#test_cases.encode}} -(deftest run-length-encode_test_{{idx}} +(deftest ^:run-length-encode run-length-encode_test_{{idx}} (testing {{context}} (is (= {{expected}} (run-length-encoding/run-length-encode {{input.string}}))))) {{/test_cases.encode}} {{#test_cases.decode}} -(deftest run-length-decode_test_{{idx}} +(deftest ^:run-length-decode run-length-decode_test_{{idx}} (testing {{context}} (is (= {{expected}} (run-length-encoding/run-length-decode {{input.string}}))))) diff --git a/exercises/practice/run-length-encoding/project.clj b/exercises/practice/run-length-encoding/project.clj index 35219a34b..1f41bab55 100644 --- a/exercises/practice/run-length-encoding/project.clj +++ b/exercises/practice/run-length-encoding/project.clj @@ -1,4 +1,6 @@ (defproject run-length-encoding "0.1.0-SNAPSHOT" :description "run-length-encoding exercise." :url "https://github.com/exercism/clojure/tree/main/exercises/practice/run-length-encoding" - :dependencies [[org.clojure/clojure "1.12.0"]]) + :dependencies [[org.clojure/clojure "1.12.0"]] + :test-selectors {:run-length-encode :run-length-encode + :run-length-decode :run-length-decode}) diff --git a/exercises/practice/run-length-encoding/test/run_length_encoding_test.clj b/exercises/practice/run-length-encoding/test/run_length_encoding_test.clj index d368ffbf1..77f8f1be4 100644 --- a/exercises/practice/run-length-encoding/test/run_length_encoding_test.clj +++ b/exercises/practice/run-length-encoding/test/run_length_encoding_test.clj @@ -2,62 +2,62 @@ (:require [clojure.test :refer [deftest testing is]] run-length-encoding)) -(deftest run-length-encode_test_1 +(deftest ^:run-length-encode run-length-encode_test_1 (testing "run-length encode a string ▶ empty string" (is (= "" (run-length-encoding/run-length-encode ""))))) -(deftest run-length-encode_test_2 +(deftest ^:run-length-encode run-length-encode_test_2 (testing "run-length encode a string ▶ single characters only are encoded without count" (is (= "XYZ" (run-length-encoding/run-length-encode "XYZ"))))) -(deftest run-length-encode_test_3 +(deftest ^:run-length-encode run-length-encode_test_3 (testing "run-length encode a string ▶ string with no single characters" (is (= "2A3B4C" (run-length-encoding/run-length-encode "AABBBCCCC"))))) -(deftest run-length-encode_test_4 +(deftest ^:run-length-encode run-length-encode_test_4 (testing "run-length encode a string ▶ single characters mixed with repeated characters" (is (= "12WB12W3B24WB" (run-length-encoding/run-length-encode "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB"))))) -(deftest run-length-encode_test_5 +(deftest ^:run-length-encode run-length-encode_test_5 (testing "run-length encode a string ▶ multiple whitespace mixed in string" (is (= "2 hs2q q2w2 " (run-length-encoding/run-length-encode " hsqq qww "))))) -(deftest run-length-encode_test_6 +(deftest ^:run-length-encode run-length-encode_test_6 (testing "run-length encode a string ▶ lowercase characters" (is (= "2a3b4c" (run-length-encoding/run-length-encode "aabbbcccc"))))) -(deftest run-length-decode_test_1 +(deftest ^:run-length-decode run-length-decode_test_1 (testing "run-length decode a string ▶ empty string" (is (= "" (run-length-encoding/run-length-decode ""))))) -(deftest run-length-decode_test_2 +(deftest ^:run-length-decode run-length-decode_test_2 (testing "run-length decode a string ▶ single characters only" (is (= "XYZ" (run-length-encoding/run-length-decode "XYZ"))))) -(deftest run-length-decode_test_3 +(deftest ^:run-length-decode run-length-decode_test_3 (testing "run-length decode a string ▶ string with no single characters" (is (= "AABBBCCCC" (run-length-encoding/run-length-decode "2A3B4C"))))) -(deftest run-length-decode_test_4 +(deftest ^:run-length-decode run-length-decode_test_4 (testing "run-length decode a string ▶ single characters with repeated characters" (is (= "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" (run-length-encoding/run-length-decode "12WB12W3B24WB"))))) -(deftest run-length-decode_test_5 +(deftest ^:run-length-decode run-length-decode_test_5 (testing "run-length decode a string ▶ multiple whitespace mixed in string" (is (= " hsqq qww " (run-length-encoding/run-length-decode "2 hs2q q2w2 "))))) -(deftest run-length-decode_test_6 +(deftest ^:run-length-decode run-length-decode_test_6 (testing "run-length decode a string ▶ lowercase string" (is (= "aabbbcccc" (run-length-encoding/run-length-decode "2a3b4c")))))