public void Mounting() { using var pfs = new PhysFS(""); pfs.GetSearchPath().Should().BeEmpty(); pfs.Mount("./", "/", false); pfs.GetSearchPath().Should().BeEquivalentTo(new string[] { "./" }); pfs.GetMountPoint("./").Should().Be("/"); pfs.IsDirectory("/").Should().BeTrue(); pfs.Mount("../", "foo", true); pfs.GetSearchPath().Should().BeEquivalentTo(new string[] { "./", "../" }); pfs.GetMountPoint("../").Should().Be("foo/"); pfs.IsDirectory("/foo").Should().BeTrue(); pfs.Mount("../../", "bar", false); pfs.GetSearchPath().Should().BeEquivalentTo(new string[] { "../../", "./", "../" }); pfs.GetMountPoint("../../").Should().Be("bar/"); pfs.IsDirectory("/bar").Should().BeTrue(); pfs.UnMount("../"); pfs.GetSearchPath().Should().BeEquivalentTo(new string[] { "../../", "./" }); }