def test_base_sanity(self): data = ['first line', 'second line', 'third line'] file = filetools.File('test.txt', data) self.assertTrue(str(file) == "FileBase<test.txt>") self.assertEqual(file.data, ['first line', 'second line', 'third line']) for line in file: pass self.assertEqual(file[0], 'first line') self.assertEqual(file[:3], ['first line', 'second line', 'third line']) # Insert Data file.insert(0, 'other line') file.insert(0, 'other line2') self.assertEqual(file.data, [ 'other line2', 'other line', 'first line', 'second line', 'third line' ]) # it is allowed to use index assignment file[0] = 'other line' # Data Recovery file.undo() # You selected amendment 3 self.assertEqual(file.data, [ 'other line2', 'other line', 'first line', 'second line', 'third line' ]) file.redo() # You selected amendment 4 self.assertEqual(file.data, [ 'other line', 'other line2', 'other line', 'first line', 'second line', 'third line' ])
def test_file_obj(self): content_file = [1, 2, 3] file = filetools.File('cereja/teste.py', content_file) normalized_data = f'{filetools.LF}'.join(filetools.FileBase.normalize_data(content_file)) expected_values = ["LF", "teste.py", 'cereja', False, normalized_data, len(content_file), 0.006] self.battery_tests(file, expected_values) file = file.replace_file_sep("CRLF", save=False) normalized_data = f'{filetools.CRLF}'.join(filetools.FileBase.normalize_data(content_file)) expected_values[0] = "CRLF" expected_values[4] = normalized_data self.battery_tests(file, expected_values) file = file.replace_file_sep("CR", save=False) normalized_data = f'{filetools.CR}'.join(filetools.FileBase.normalize_data(content_file)) expected_values[0] = "CR" expected_values[4] = normalized_data self.battery_tests(file, expected_values)
def test_json_sanity(self): data = {'key': 'value', 'key2': 'value2', 'key3': 'value3'} file = filetools.File('test.json', data) self.assertEqual(str(file), 'JsonFile<test.json>') self.assertEqual(file.data, {'key': 'value', 'key2': 'value2', 'key3': 'value3'}) # Iterable for key, value in file.items(): pass self.assertEqual(file['key'], 'value') # Insert Data file['key4'] = 'value4' self.assertEqual(file.data, {'key': 'value', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'}) # Data Recovery file.undo() # You selected amendment 1 self.assertEqual(file.data, {'key': 'value', 'key2': 'value2', 'key3': 'value3'}) file.redo() # You selected amendment 2 self.assertEqual(file.data, {'key': 'value', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4'})
def get_file(self): content_file = [1, 2, 3] file = filetools.File(f"{os.path.dirname(__file__)}.txt", content_file) return file