more tests

This commit is contained in:
Mike Dirolf 2009-01-26 17:02:15 -05:00
parent 7defe93a71
commit 82b105c481
2 changed files with 32 additions and 1 deletions

View File

@ -68,6 +68,8 @@ class GridFile(object):
raise TypeError("database must be an instance of database")
if not isinstance(collection, types.StringTypes):
raise TypeError("collection must be an instance of (str, unicode)")
if not isinstance(mode, types.StringTypes):
raise TypeError("mode must be an instance of (str, unicode)")
if mode not in ("r", "w"):
raise ValueError("mode must be one of ('r', 'w')")

View File

@ -25,16 +25,45 @@ class TestGridFile(unittest.TestCase):
def setUp(self):
self.db = get_connection().test
def test_write_then_read(self):
def test_basic(self):
self.db._files.remove({})
self.db._chunks.remove({})
self.assertEqual(self.db._files.find().count(), 0)
self.assertEqual(self.db._chunks.find().count(), 0)
file = GridFile({"filename": "test"}, self.db, "w")
file.write("hello world")
file.close()
self.assertEqual(self.db._files.find().count(), 1)
self.assertEqual(self.db._chunks.find().count(), 1)
file = GridFile({"filename": "test"}, self.db)
self.assertEqual(file.read(), "hello world")
file.close()
def test_create_grid_file(self):
self.assertRaises(TypeError, GridFile, "hello", self.db)
self.assertRaises(TypeError, GridFile, None, self.db)
self.assertRaises(TypeError, GridFile, 5, self.db)
self.assertRaises(TypeError, GridFile, {}, "hello")
self.assertRaises(TypeError, GridFile, {}, None)
self.assertRaises(TypeError, GridFile, {}, 5)
self.assertTrue(GridFile({}, self.db))
self.assertRaises(TypeError, GridFile, {}, self.db, None)
self.assertRaises(TypeError, GridFile, {}, self.db, 5)
self.assertRaises(TypeError, GridFile, {}, self.db, [])
self.assertRaises(ValueError, GridFile, {}, self.db, "m")
self.assertRaises(ValueError, GridFile, {}, self.db, u"m")
self.assertTrue(GridFile({}, self.db, "r"))
self.assertTrue(GridFile({}, self.db, u"r"))
self.assertTrue(GridFile({}, self.db, "w"))
self.assertTrue(GridFile({}, self.db, u"w"))
self.assertRaises(TypeError, GridFile, {}, self.db, "r", None)
self.assertRaises(TypeError, GridFile, {}, self.db, "r", 5)
self.assertRaises(TypeError, GridFile, {}, self.db, "r", [])
if __name__ == "__main__":
unittest.main()