def test_make_part_dir_absolute(self, make_path): path = make_path('/dummy/absolute/dir/path') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'dir', 'path') assert path_instance.filename == '' assert path_instance.ext == '' path = make_path('/dummy/absolute//dir/path') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'dir', 'path') assert path_instance.filename == '' assert path_instance.ext == '' path = make_path('/dummy///absolute/dir/path') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'dir', 'path') assert path_instance.filename == '' assert path_instance.ext == '' with pytest.raises( TypeError, match= 'Can not change filename as self is represents a directory'): _ = path_instance.with_filename('filename') with pytest.raises( TypeError, match= 'Can not change extension as self is represents a directory'): _ = path_instance.with_ext('json') with pytest.raises( ValueError, match='Invalid file provided: Expected a single file, got'): _ = path_instance.with_file('some/invalid/file.json') with pytest.raises( ValueError, match='Invalid file provided: Expected a single file, got'): _ = path_instance.with_file('file') with pytest.raises( ValueError, match='Invalid file provided: Expected a single file, got'): _ = path_instance.with_file('file.') with pytest.raises( ValueError, match='Invalid file provided: Expected a single file, got'): _ = path_instance.with_file('/file.json') new_path = path_instance.with_file('filename.json') assert new_path.parts == ('/', 'dummy', 'absolute', 'dir', 'path', 'filename.json') assert path_instance.parts == ('/', 'dummy', 'absolute', 'dir', 'path') assert new_path.filename == 'filename' assert path_instance.filename == '' assert new_path.ext == 'json' assert path_instance.ext == ''
def test_make_part_file_absolute(self, make_path): # noqa: R701 path = make_path('/dummy/absolute/file/path/file.ext') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert path_instance.filename == 'file' assert path_instance.ext == 'ext' path = make_path('/dummy/absolute/file//path/file.ext') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert path_instance.filename == 'file' assert path_instance.ext == 'ext' path = make_path('/dummy///absolute/file/path/file.ext') path_instance = Path(path) assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert path_instance.filename == 'file' assert path_instance.ext == 'ext' new_path = path_instance.with_filename('filename') assert new_path.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'filename.ext') assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert new_path.filename == 'filename' assert path_instance.filename == 'file' assert new_path.ext == 'ext' assert path_instance.ext == 'ext' new_path = path_instance.with_ext('json') assert new_path.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.json') assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert new_path.filename == 'file' assert path_instance.filename == 'file' assert new_path.ext == 'json' assert path_instance.ext == 'ext' new_path = path_instance.with_file('filename.json') assert new_path.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'filename.json') assert path_instance.parts == ('/', 'dummy', 'absolute', 'file', 'path', 'file.ext') assert new_path.filename == 'filename' assert path_instance.filename == 'file' assert new_path.ext == 'json' assert path_instance.ext == 'ext'