def test_empty_db(self): self.assertEqual(backend.read_from_db(self.emptyDB, ""), None) self.assertEqual(backend.read_from_db(self.emptyDB, "/"), None) self.assertEqual(backend.read_from_db(self.emptyDB, "/a"), None) self.assertEqual(backend.read_from_db(self.emptyDB, "/a/"), None) self.assertEqual(backend.read_from_db(self.emptyDB, "/a/b"), None) self.assertEqual(backend.write_to_db(self.fullDB, "/int", 1), 1) self.assertEqual(backend.write_to_db(self.fullDB, "/bool/", True), True)
def test_invalid_write_db(self): with self.assertRaises(AttributeError) as context: backend.write_to_db(self.fullDB, "", "test") self.assertTrue("Empty path/DB" in context.exception) with self.assertRaises(AttributeError) as context: backend.write_to_db(self.fullDB, "/", "test") self.assertTrue("Empty path/DB" in context.exception) with self.assertRaises(KeyError) as context: backend.write_to_db(self.fullDB, "/no/key", "test") self.assertTrue("/no/key" in context.exception) with self.assertRaises(TypeError) as context: backend.write_to_db(self.fullDB, "/str/key", "test") self.assertTrue("/no/key" in context.exception)
def write_property(self, property_, value, id_ = None): property_ = str(property_) value = str(value) if id_ == None: register = property_ + ":" + value id_ = backend.write_to_db(self.name, register) return db_object(id_ + "; " + register, self) else: register = backend.query_id(self.name, id_) if register is not None: start = register.find(";")+2 register = register[start:-1] + "; " + property_ + ":" + value backend.write_previous(self.name, id_, register) return db_object(id_ + "; " + register, self) else: return
import backend if __name__ == "__main__": for number in range(100): number = str(number) * 5 backend.write_to_db(number)
def test_valid_write_db(self): self.assertEqual(backend.write_to_db(self.fullDB, "/int", 1), 1) self.assertEqual(backend.write_to_db(self.fullDB, "/bool/", True), True) self.assertEqual(backend.write_to_db(self.fullDB, "/l1", {}), {}) self.assertEqual(backend.write_to_db(self.fullDB, "/l1/str11", "str11"), "str11") self.assertEqual(backend.write_to_db(self.fullDB, "/level1/level2/level3/str31", "str31"), "str31")