diff options
-rw-r--r-- | test/test_core.py | 7 | ||||
-rw-r--r-- | warlock/core.py | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/test/test_core.py b/test/test_core.py index 3610619..c7f0636 100644 --- a/test/test_core.py +++ b/test/test_core.py @@ -54,3 +54,10 @@ class TestCore(unittest.TestCase): sweden.abbreviation = 'SE' exc = warlock.InvalidOperation self.assertRaises(exc, setattr, sweden, 'abbreviation', 0) + + def test_iteritems(self): + Country = warlock.model_factory(fixture) + sweden = Country(name='Sweden', population=9379116) + print sweden.iteritems() + self.assertEqual(set(list(sweden.iteritems())), + set([('name', 'Sweden'), ('population', 9379116)])) diff --git a/warlock/core.py b/warlock/core.py index 205c221..ee1d622 100644 --- a/warlock/core.py +++ b/warlock/core.py @@ -53,5 +53,8 @@ def model_factory(schema): raise InvalidOperation() self.__dict__['raw'] = mutation + def iteritems(self): + return copy.deepcopy(self.__dict__['raw']).iteritems() + Model.__name__ = str(schema['name']) return Model |