# Written by Shlomi Fish, under the MIT Expat License. import unittest from pysollib.acard import AbstractCard from pysollib.kpat_load_save import KpatXmlEmitter from six.moves import cStringIO class MyTests(unittest.TestCase): def test_emitter(self): f = cStringIO() e = KpatXmlEmitter(f) self.assertTrue(e) e.writeEmptyTag("foo", [("one", "val1"), ("two", "val2")]) self.assertEqual( f.getvalue(), "\n" + "\n") f = cStringIO() e = KpatXmlEmitter(f) self.assertTrue(e) e.writeStartTag("foo", [("one", "val1"), ("two", "val2")]) e.writeEmptyTag("flutter", []) e.endTag() self.assertEqual( f.getvalue(), "\n" + "\n" + "\t\n" + "\n") f = cStringIO() e = KpatXmlEmitter(f) self.assertTrue(e) e.writeStartTag("foo", [("one", "val1"), ("two", "val2")]) e.writeStartTag("rar", [("z", "zval"), ("a", "aval")]) e.writeEmptyTag("flutter", []) e.endTag() e.endTag() self.assertEqual( f.getvalue(), "\n" + "\n" + "\t\n" + "\t\t\n" + "\t\n" + "\n") def test_write_card(self): f = cStringIO() e = KpatXmlEmitter(f) self.assertTrue(e) 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" )