def test_double_save(self): filename = "double_save_test_file.save" saver = CommandSaver(filename) saver.save(0, 1) saver.save(1, 2) saver.save(2, 3) self.verify_content(filename, DOUBLE_COUNT_CONTENT)
def test_basic_save(self): filename = "basic_save_test_file.save" saver = CommandSaver(filename) saver.save(0) saver.save(1) saver.save(2) saver.save(3) self.verify_content(filename, BASIC_COUNT_CONTENT)
def test_double_read_too_few_parameters(self): filename = self.prepare_test_file(DOUBLE_COUNT_CONTENT) saver = CommandSaver(filename) # Workaround for changing non-local variable in python 2: index = [0] def counter(i): index[0] += 1 saver.read(counter) self.assertEquals(index[0], 0, "Got read call with too few parameters")
def test_basic_read(self): filename = self.prepare_test_file(BASIC_COUNT_CONTENT) saver = CommandSaver(filename) # Workaround for changing non-local variable in python 2: index = [0] def counter(i): self.assertEquals(index[0], i) index[0] += 1 saver.read(counter) self.assertEquals(index[0], 4) self.assertFalse(os.path.isfile(filename))
def test_double_remove(self): filename = self.prepare_test_file(DOUBLE_COUNT_CONTENT) saver = CommandSaver(filename) saver.remove(1) self.verify_content(filename, "[[0, 1], [2, 3]]") saver.remove(1) self.verify_content(filename, "[[0, 1]]") saver.remove(0) self.verify_content(filename, "[]") # And try removing out of index, just to make sure we don't crash: saver.remove(0) self.verify_content(filename, "[]")
def test_basic_remove_item(self): filename = self.prepare_test_file(BASIC_COUNT_CONTENT) saver = CommandSaver(filename) # Start by trying to remove something that doesn't exist, and # something with too many parameters: saver.remove_item(4) self.verify_content(filename, BASIC_COUNT_CONTENT) saver.remove_item(0, 1) self.verify_content(filename, BASIC_COUNT_CONTENT) saver.remove_item(2) self.verify_content(filename, "[[0], [1], [3]]") saver.remove_item(1) self.verify_content(filename, "[[0], [3]]") saver.remove_item(3) self.verify_content(filename, "[[0]]") saver.remove_item(0) self.verify_content(filename, "[]") # And try removing a non-existng item, just to make sure we don't crash: saver.remove_item(0) self.verify_content(filename, "[]")
def test_basic_remove(self): filename = self.prepare_test_file(BASIC_COUNT_CONTENT) saver = CommandSaver(filename) saver.remove(2) self.verify_content(filename, "[[0], [1], [3]]") saver.remove(0) self.verify_content(filename, "[[1], [3]]") saver.remove(1) self.verify_content(filename, "[[1]]") saver.remove(0) self.verify_content(filename, "[]") # And try removing out of index, just to make sure we don't crash: saver.remove(0) self.verify_content(filename, "[]")
def test_double_remove_item(self): filename = self.prepare_test_file(DOUBLE_COUNT_CONTENT) saver = CommandSaver(filename) # Start by trying to remove something that doesn't exist, and something # with the wrong amount of parameters: saver.remove_item([1, 1]) self.verify_content(filename, DOUBLE_COUNT_CONTENT) saver.remove_item(0) self.verify_content(filename, DOUBLE_COUNT_CONTENT) saver.remove_item(1, 2) self.verify_content(filename, "[[0, 1], [2, 3]]") saver.remove_item(0, 1) self.verify_content(filename, "[[2, 3]]") saver.remove_item(2, 3) self.verify_content(filename, "[]") # And try removing something again, just to make sure we don't crash: saver.remove_item(2, 3) self.verify_content(filename, "[]")