From ec808f30e93a103031ff7fafeb4b171c8b9d9b09 Mon Sep 17 00:00:00 2001 From: Shlomi Fish Date: Sun, 5 May 2019 22:28:26 +0300 Subject: [PATCH] implement writeCard. --- pysollib/kpat_load_save.py | 13 ++++++++++++- tests/lib/pysol_tests/kpat_load_save.py | 14 +++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/pysollib/kpat_load_save.py b/pysollib/kpat_load_save.py index 4180cabb..96c70944 100644 --- a/pysollib/kpat_load_save.py +++ b/pysollib/kpat_load_save.py @@ -46,9 +46,20 @@ class KpatXmlEmitter: self._indent -= 1 self._ind_out("\n".format(self._tags.pop()['name'])) + def _calcSuit(self, suit): + """docstring for _calcSuit""" + return ["clubs", "spades", "hearts", "diamonds"][suit] + + def _calcRank(self, rank): + """docstring for _calcRank""" + return ["ace", "two", "three", "four", "five", "six", + "seven", "eight", "nine", "ten", "jack", "queen", "king"][rank] + def writeCard(self, card, turn=None): """docstring for writeCard""" self.writeEmptyTag( "card", - [("id", str(card.id)), ("suit", "clubs"), ("rank", "ace")] + + [("id", str(card.id)), + ("suit", self._calcSuit(card.suit)), + ("rank", self._calcRank(card.rank))] + ([("turn", turn)] if turn else [])) diff --git a/tests/lib/pysol_tests/kpat_load_save.py b/tests/lib/pysol_tests/kpat_load_save.py index 13ed95a2..25cf5bed 100644 --- a/tests/lib/pysol_tests/kpat_load_save.py +++ b/tests/lib/pysol_tests/kpat_load_save.py @@ -52,10 +52,22 @@ class MyTests(unittest.TestCase): f = cStringIO() e = KpatXmlEmitter(f) self.assertTrue(e) - e.writeCard(card=AbstractCard(1001, 0, 0, 1, 3001), turn="face-up") + e.writeCard(card=AbstractCard(1001, 0, 0, 0, 3001), turn="face-up") self.assertEqual( f.getvalue(), "\n" + "\n" ) + + def test_write_card2(self): + f = cStringIO() + e = KpatXmlEmitter(f) + self.assertTrue(e) + e.writeCard(card=AbstractCard(1002, 0, 1, 1, 3001), turn="face-up") + self.assertEqual( + f.getvalue(), + "\n" + + "\n" + )