1
0
Fork 0
mirror of https://github.com/shlomif/PySolFC.git synced 2025-04-05 00:02:29 -04:00

implement writeCard.

This commit is contained in:
Shlomi Fish 2019-05-05 22:28:26 +03:00
parent a15dfe4773
commit ec808f30e9
2 changed files with 25 additions and 2 deletions

View file

@ -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 []))

View file

@ -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(),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<card id=\"1001\" suit=\"clubs\" " +
"rank=\"ace\" turn=\"face-up\"/>\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(),
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<card id=\"1002\" suit=\"spades\" " +
"rank=\"two\" turn=\"face-up\"/>\n"
)