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

View File

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