2022-01-01 17:33:33 +01:00
|
|
|
;; SPDX-License-Identifier: Apache-2.0
|
|
|
|
;; SPDX-FileCopyrightText: 2021 Sebastian Crane <seabass-labrax@gmx.com>
|
|
|
|
|
|
|
|
(ns game-test
|
|
|
|
(:require [clojure.test :refer :all]
|
|
|
|
[game :refer :all]))
|
|
|
|
|
2022-03-30 13:11:10 +02:00
|
|
|
(def test-state '{:games {"hypothetical-shooter" #{"player-one" "player-two" "player-three"}
|
|
|
|
"quasi-rts" #{"player-two" "player-four"}
|
|
|
|
"imaginary-rpg" #{"player-one" "player-three" "player-four"}}})
|
2022-01-01 17:33:33 +01:00
|
|
|
|
2022-01-03 15:25:15 +01:00
|
|
|
(deftest get-players-of-game-test
|
2022-01-01 17:33:33 +01:00
|
|
|
(is (=
|
|
|
|
'#{"player-two" "player-four"}
|
2022-03-30 13:11:10 +02:00
|
|
|
(get-players-of-game test-state "quasi-rts"))))
|
2022-01-01 17:33:33 +01:00
|
|
|
|
|
|
|
(deftest add-player-of-game-test
|
|
|
|
(is (=
|
|
|
|
'#{"player-one" "player-two" "player-four"}
|
2022-03-30 13:11:10 +02:00
|
|
|
(get-in (add-player-of-game test-state "quasi-rts" "player-one") [:games "quasi-rts"]))))
|
2022-01-01 18:57:47 +01:00
|
|
|
|
|
|
|
(deftest remove-player-of-game-test
|
|
|
|
(is (=
|
|
|
|
'#{"player-one" "player-three"}
|
2022-03-30 13:11:10 +02:00
|
|
|
(get-in (remove-player-of-game test-state "imaginary-rpg" "player-four") [:games "imaginary-rpg"]))))
|
2022-01-01 19:29:19 +01:00
|
|
|
|
2022-01-03 15:27:19 +01:00
|
|
|
(deftest get-games-test
|
|
|
|
(is (=
|
2022-03-30 13:11:10 +02:00
|
|
|
'#{"hypothetical-shooter" "quasi-rts" "imaginary-rpg"}
|
2022-01-03 15:27:19 +01:00
|
|
|
(set (get-games test-state)))))
|
|
|
|
|
2022-01-01 19:29:19 +01:00
|
|
|
(deftest remove-game-test
|
|
|
|
(is (=
|
2022-03-30 13:11:10 +02:00
|
|
|
'#{"hypothetical-shooter" "imaginary-rpg"}
|
|
|
|
(set (keys (:games (remove-game test-state "quasi-rts")))))))
|