Factor out keywordise-game function

Signed-off-by: Sebastian Crane <seabass-labrax@gmx.com>
This commit is contained in:
Sebastian Crane 2022-02-23 20:56:48 +00:00
parent 7857a1acf5
commit c5a70954c3
2 changed files with 10 additions and 3 deletions

View File

@ -6,10 +6,13 @@
[game] [game]
[irclj.core])) [irclj.core]))
(defn keywordise-game [game]
(when (string? game)
(keyword (str/lower-case game))))
(defn sorted-players-of-game [state game] (defn sorted-players-of-game [state game]
(->> game (->> game
(str/lower-case) (keywordise-game)
(keyword)
(game/get-players-of-game state) (game/get-players-of-game state)
(sort))) (sort)))
@ -51,7 +54,7 @@
(let [message-parts (str/split message #"\s") (let [message-parts (str/split message #"\s")
command (if-let [x (first message-parts)] (str/lower-case x) "") command (if-let [x (first message-parts)] (str/lower-case x) "")
game (second message-parts) game (second message-parts)
game-keyword (when game (keyword (str/lower-case game)))] game-keyword (keywordise-game game)]
{:command command {:command command
:game game :game game
:game-keyword game-keyword})) :game-keyword game-keyword}))

View File

@ -9,6 +9,10 @@
:quasi-rts #{"abc" "123"} :quasi-rts #{"abc" "123"}
:imaginary-rpg #{"xyz" "abc"}}}) :imaginary-rpg #{"xyz" "abc"}}})
(deftest keywordise-game-test
(is (= :quasi-rts
(keywordise-game "Quasi-RTS"))))
(deftest match-string-test (deftest match-string-test
(is (= '"Anyone ready for quasi-Rts? 123 abc" (is (= '"Anyone ready for quasi-Rts? 123 abc"
(match-string :state test-state :game "quasi-Rts")))) (match-string :state test-state :game "quasi-Rts"))))