Skip to content

Commit

Permalink
Merge pull request lcosmin#53 from pak21/feature/unit-test-for-every-…
Browse files Browse the repository at this point in the history
…game-property

Ensure there is a unit test for every property.
lcosmin authored Feb 6, 2019
2 parents 08f3213 + 7ac23e7 commit a3fea0e
Showing 4 changed files with 776 additions and 9 deletions.
4 changes: 4 additions & 0 deletions test/_common.py
Original file line number Diff line number Diff line change
@@ -30,6 +30,10 @@
TEST_GUILD_ID = 1229
TEST_GUILD_ID_2 = 930

TEST_GAME_WITH_IMPLEMENTATIONS_ID = 28720 # Brass

TEST_GAME_EXPANSION_ID = 223555 # Scythe: The Wind Gambit

TEST_GAME_ACCESSORY_ID = 104163 # Descent: Journeys in the Dark (second edition) – Conversion Kit

if sys.version_info >= (3,):
51 changes: 42 additions & 9 deletions test/test_game.py
Original file line number Diff line number Diff line change
@@ -58,24 +58,30 @@ def check_game(game):
'Animals: Pigs', 'Animals: Sheep', 'Harvest Series',
'Solitaire Games', 'Tableau Building']
assert game.designers == ["Uwe Rosenberg"]
assert game.artists == ["Klemens Franz"]

assert "Lookout Games" in game.publishers
assert u"Compaya.hu - Gamer Café Kft." in game.publishers

assert u"Агрикола" in game.alternative_names
assert u"아그리콜라" in game.alternative_names

# some not so exact assertions
assert game.users_rated >= 34000
assert 0.0 <= game.rating_average <= 10.0
assert 0.0 <= game.rating_bayes_average <= 10.0
assert len(game.description) == 1985

assert type(game.rating_stddev) == float
assert type(game.rating_median) == float
assert game.rating_num_weights >= 0
assert type(game.rating_average_weight) == float
assert game.users_rated == 51439
assert game.rating_average == 8.0345
assert game.rating_bayes_average == 7.93694
assert game.rating_stddev == 1.56465
assert game.rating_median == 0.0
assert game.rating_num_weights == 5540
assert game.rating_average_weight == 3.6319
assert game.boardgame_rank == 15

assert type(game.boardgame_rank) == int
assert game.users_owned == 62141
assert game.users_trading == 1121

assert len(game.expansions) == 23
assert 43018 in [g.id for g in game.expansions]

# check for videos
assert type(game.videos) == list
@@ -223,6 +229,33 @@ def test_get_games_by_name(bgg, mocker, null_logger):
assert len(games) > 1


def test_implementations(bgg, mocker):
mock_get = mocker.patch("requests.sessions.Session.get")
mock_get.side_effect = simulate_bgg

game = bgg.game(game_id=TEST_GAME_WITH_IMPLEMENTATIONS_ID)

assert game.id == TEST_GAME_WITH_IMPLEMENTATIONS_ID
assert len(game.implementations) == 2
assert "Age of Industry" in game.implementations
assert "Brass: Birmingham" in game.implementations


def test_get_expansion(bgg, mocker):
mock_get = mocker.patch("requests.sessions.Session.get")
mock_get.side_effect = simulate_bgg

game = bgg.game(game_id=TEST_GAME_EXPANSION_ID)

assert game.id == TEST_GAME_EXPANSION_ID
assert game.expansion

assert len(game.expands) == 2
expanded_game_ids = [g.id for g in game.expands]
assert 169786 in expanded_game_ids
assert 199727 in expanded_game_ids


def test_get_accessory(bgg, mocker):
mock_get = mocker.patch("requests.sessions.Session.get")
mock_get.side_effect = simulate_bgg
Loading
Oops, something went wrong.

0 comments on commit a3fea0e

Please sign in to comment.