Ejemplo n.º 1
0
    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 == ''
Ejemplo n.º 2
0
    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'