tests/test_rowdict.py
changeset 48 b82c7c2fb5af
child 81 f709b1c7ca0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_rowdict.py	Sat Sep 29 12:08:47 2012 +0200
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+from pgtoolkit.pgmanager import RowDict
+
+import unittest
+
+
+class TestRowDict(unittest.TestCase):
+    def setUp(self):
+        self.rowdict = RowDict([('id', 123), ('name', 'hello')])
+
+    def test_rowdict_as_kwargs(self):
+        rowdict_id = (lambda **kwargs: kwargs['id']) (**self.rowdict)
+        self.assertEqual(rowdict_id, 123)
+
+    def test_rowdict_key_access(self):
+        self.assertEqual(self.rowdict['id'], 123)
+
+    def test_rowdict_attr_access(self):
+        self.assertEqual(self.rowdict.name, 'hello')
+
+    def test_rowdict_index_access(self):
+        self.assertEqual(self.rowdict[0], 123)
+
+    def test_rowdict_unpack(self):
+        _id, name = self.rowdict
+        self.assertEqual(name, 'hello')
+
+
+if __name__ == '__main__':
+    unittest.main()