def test_relativise_different_parents_deep(): """Different parents for src and dst, in a deep structure.""" src = pathlib.Path("/tmp/foo/bar1/bar2/src.txt") dst = pathlib.Path("/tmp/foo/baz1/baz2/baz3/dst.txt") rel = relativise(src, dst) assert rel == pathlib.Path("../../baz1/baz2/baz3/dst.txt")
def test_relativise_different_parents_shallow(): """Different parents for src and dst, but shallow.""" src = pathlib.Path("/tmp/foo/bar/src.txt") dst = pathlib.Path("/tmp/foo/baz/dst.txt") rel = relativise(src, dst) assert rel == pathlib.Path("../baz/dst.txt")
def test_relativise_src_under(): """The src is in subdirectory of dst's parent.""" src = pathlib.Path("/tmp/foo/bar/baz/src.txt") dst = pathlib.Path("/tmp/foo/dst.txt") rel = relativise(src, dst) assert rel == pathlib.Path("../../dst.txt")
def test_relativise_dst_under(): """The dst is in subdirectory of src's parent.""" src = pathlib.Path("/tmp/foo/src.txt") dst = pathlib.Path("/tmp/foo/bar/baz/dst.txt") rel = relativise(src, dst) assert rel == pathlib.Path("bar/baz/dst.txt")
def test_relativise_sameparent(): """Two files in the same dir.""" src = pathlib.Path("/tmp/foo/bar/src.txt") dst = pathlib.Path("/tmp/foo/bar/dst.txt") rel = relativise(src, dst) assert rel == pathlib.Path("dst.txt")