예제 #1
0
        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[] { "../../", "./" });
        }