1
0
Fork 0
mirror of https://github.com/Oreolek/gamebookformat.git synced 2024-06-28 20:55:13 +03:00
gamebookformat/test_output.py
Pelle Nilsson 4f260e2307 Improved OutputFormat by removing direct printing to output file.
Whitespace changed in small ways again in expected output.
2013-06-14 23:24:43 +02:00

52 lines
1.3 KiB
Python
Executable file

#!/usr/bin/env python2.7
import unittest
from unittest import TestCase
import output
class FakeTemplates(object):
def __init__(self, d):
self.d = d
def get(self, name):
if name in self.d:
return self.d[name]
else:
return ''
class TestOutputFormat(TestCase):
def setUp(self):
pass
def test_create(self):
of = output.OutputFormat(FakeTemplates({}), str)
def test_format_begin(self):
of = output.OutputFormat(FakeTemplates({'begin' : 'b %(max)d'}), str)
self.assertEqual(of.format_begin({'max' : 2}), 'b 2')
class TestReferenceFormatter(TestCase):
def setUp(self):
pass
def test_create(self):
rf = output.ReferenceFormatter(1, {}, "", str)
def test_get_item(self):
rf = output.ReferenceFormatter(1, {'a' : 1, 'b' : 2}, "%(nr)d", int)
self.assertEqual(rf['nr'], 1)
def test_get_quoted_item(self):
rf = output.ReferenceFormatter(1, {'a' : 1, 'b' : 2}, "%(nr)d", str)
self.assertEqual(rf['nr'], '1')
def test_get_reference(self):
rf = output.ReferenceFormatter(1, {'a' : 1, 'b' : 2},
"%(from_nr)d to %(nr)d", None)
self.assertEqual(rf['b'], '1 to 2')
self.assertEquals(rf.found, set(['1 to 2']))
if __name__ == '__main__':
unittest.main()