Skip to content

Commit

Permalink
Update tests etc
Browse files Browse the repository at this point in the history
  • Loading branch information
cyanfish committed May 8, 2018
1 parent 266496b commit cc98b45
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 8 deletions.
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ Checking who's online and playing:
>>> import lichess.api
>>>
>>> users = list(lichess.api.users_status(['thibault', 'cyanfish']))
>>> online = [u['id'] for u in users if u['online']]
>>> playing = [u['id'] for u in users if u['playing']]
>>> online = [u['id'] for u in users if u.get('online')]
>>> playing = [u['id'] for u in users if u.get('playing')]
>>> print(online, playing)
['thibault', 'cyanfish'] ['cyanfish']

Expand Down
2 changes: 1 addition & 1 deletion lichess/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ def users_status(ids, **kwargs):
Note: This endpoint is cheap and not rate-limited. Use it instead of :data:`~lichess.api.users_by_ids` when possible.
>>> users = lichess.api.users_status(['thibault', 'cyanfish'])
>>> online_count = len([u for u in users if u['online']])
>>> online_count = len([u for u in users if u.get('online')])
>>> print(online_count)
1
"""
Expand Down
2 changes: 1 addition & 1 deletion lichess/format.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def stream_pgns(resp):
buffer.append(line.decode('utf-8'))
if buffer[-2:] == ['', '']:
yield '\n'.join(buffer)
buffer.clear()
buffer = []
if len(buffer) > 3:
yield '\n'.join(buffer)

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def read_description():
license="GPL3",
keywords="chess lichess api",
url="https://github.com/cyanfish/python-lichess",
packages=["lichess.api", "lichess.pgn"],
packages=["lichess"],
install_requires=['requests', 'six'],
python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*",
classifiers=[
Expand Down
34 changes: 31 additions & 3 deletions test.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import lichess.api
import lichess.pgn
import lichess.format
import chess.pgn
import itertools
import unittest
Expand Down Expand Up @@ -28,16 +29,24 @@ def test_users_by_ids(self):

def test_users_status(self):
users = lichess.api.users_status(['thibault', 'cyanfish'])
online_count = len([u for u in users if u['online']])
online_count = len([u for u in users if u.get('online')])
self.assertEqual(type(online_count), int)

def test_user_activity(self):
activity = lichess.api.user_activity('thibault')
self.assertEqual(type(activity), list)

def test_game(self):
game = lichess.api.game('Qa7FJNk2', with_moves=1)
game = lichess.api.game('Qa7FJNk2')
self.assertEqual(type(game['moves']), type(u''))

def test_game_pgn(self):
pgn = lichess.api.game('Qa7FJNk2', format=lichess.format.PGN)
self.assertEqual(pgn[:7], '[Event ')

def test_game_pychess(self):
game = lichess.api.game('Qa7FJNk2', format=lichess.format.PYCHESS)
self.assertTrue('Event' in game.headers)

def test_games_by_ids(self):
games = lichess.api.games_by_ids(['Qa7FJNk2', '4M973EVR'], with_moves=1)
Expand All @@ -49,13 +58,32 @@ def test_games_by_ids(self):
self.assertNotEqual(moves1, moves2)

def test_user_games(self):
games = lichess.api.user_games('thibault', with_moves=1, nb=10)
games = lichess.api.user_games('thibault', max=5)
lst = list(itertools.islice(games, 2))
moves1 = lst[0]['moves']
moves2 = lst[1]['moves']
self.assertEqual(type(moves1), type(u''))
self.assertEqual(type(moves2), type(u''))
self.assertNotEqual(moves1, moves2)

def test_user_games_pgn(self):
pgns = lichess.api.user_games('thibault', max=5, format=lichess.format.PGN)
lst = list(itertools.islice(pgns, 2))
self.assertEqual(lst[0][:7], '[Event ')
self.assertEqual(lst[1][:7], '[Event ')
self.assertNotEqual(lst[0], lst[1])

def test_user_games_single_pgn(self):
pgn = lichess.api.user_games('thibault', max=5, format=lichess.format.SINGLE_PGN)
lst = list(itertools.islice(pgn, 2))
self.assertEqual(pgn[:7], '[Event ')

def test_user_games_pychess(self):
games = lichess.api.user_games('thibault', max=5, format=lichess.format.PYCHESS)
lst = list(itertools.islice(games, 2))
self.assertTrue('Event' in lst[0].headers)
self.assertTrue('Event' in lst[1].headers)
self.assertNotEqual(lst[0], lst[1])

def test_games_by_team(self):
games = lichess.api.games_by_team('programfox-senseifox-fanclub', with_moves=1, nb=10)
Expand Down

0 comments on commit cc98b45

Please sign in to comment.