Mercurial > nagslang
diff nagslang/tests/test_level_serializer.py @ 90:a8d83de5b460
Dump our YAML subset too
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Mon, 02 Sep 2013 02:18:50 +0200 |
parents | 102043902451 |
children |
line wrap: on
line diff
--- a/nagslang/tests/test_level_serializer.py Mon Sep 02 00:55:59 2013 +0200 +++ b/nagslang/tests/test_level_serializer.py Mon Sep 02 02:18:50 2013 +0200 @@ -1,16 +1,27 @@ -from unittest import TestCase +from unittest import TestCase, SkipTest from StringIO import StringIO +try: + import yaml +except ImportError: + yaml = None # pyflakes:ignore + from nagslang.level_serializer import load, dump -class TestSimple(TestCase): +class TestRoundTrip(TestCase): def roundtrip(self, data): f = StringIO() - dump(data, f) + self.dump(data, f) f.seek(0) - #print '\n== Begin ==\n%s== End ==' % f.buf - self.assertEqual(load(f), data) + print '\n=== Begin ===\n%s\n=== End ===' % f.buf.rstrip() + self.assertEqual(self.load(f), data) + + def dump(self, data, f): + dump(data, f) + + def load(self, f): + return load(f) def test_simple_dict(self): self.roundtrip({'foo': 'bar'}) @@ -45,3 +56,17 @@ {'qux': 'quux'}, ], }) + + +class TestFromPyYAML(TestRoundTrip): + def dump(self, data, f): + if yaml is None: + raise SkipTest('yaml module unavailable') + yaml.dump(data, f, default_flow_style=False) + + +class TestToPyYAML(TestRoundTrip): + def load(self, f): + if yaml is None: + raise SkipTest('yaml module unavailable') + return yaml.load(f)