Esempio n. 1
0
        static void PathDemo()
        {
            OSPath path = @"/foo\bar.txt";

            // Windows output
            WriteLine(path);            // \foo\bar.txt
            WriteLine(path.Windows);    // \foo\bar.txt
            WriteLine(path.Unix);       // /foo/bar.txt

            // MacOS output
            WriteLine(path);            // /foo/bar.txt
            WriteLine(path.Windows);    // \foo\bar.txt
            WriteLine(path.Unix);       // /foo/bar.txt

            // It also helpes converting between relative and absolute paths:

            OSPath ap = "/foo/bar";

            WriteLine(ap.Relative.Unix); // foo/bar
            WriteLine(ap.Absolute.Unix); // /foo/bar

            OSPath rp = "/foo/bar";

            WriteLine(rp.Relative.Unix); // foo/bar
            WriteLine(rp.Absolute.Unix); // /foo/bar

            // And to perform path arithmetics (Windows output):
            OSPath root = @"/foo\bar";

            WriteLine(root + "file.txt");        // \foo\bar\file.txt
            WriteLine(root + "file.txt" - root); // file.txt
        }
Esempio n. 2
0
        public void Extract_Local_Path()
        {
            OSPath path = "/foo/bar/test.txt";
            var    file = path - "\\foo";

            Assert.AreEqual("bar/test.txt", file.Unix);
        }
Esempio n. 3
0
        public void Unify_Rootless_Windows_Path()
        {
            OSPath path = "\\foo bar\\file.txt";

            Assert.IsFalse(path.HasVolume);
            Assert.AreEqual("\\foo bar\\file.txt", path.Simplified.Windows);

            Assert.AreEqual("\\foo bar\\file.txt", path.Windows);
            Assert.AreEqual("/foo bar/file.txt", path.Unix);
            Assert.AreEqual(
                OSPath.IsWindows ? "\\foo bar\\file.txt" : "/foo bar/file.txt",
                path.Normalized);

            Assert.AreEqual("foo bar\\file.txt", path.Relative.Windows);
            Assert.AreEqual("foo bar/file.txt", path.Relative.Unix);
            Assert.AreEqual(
                OSPath.IsWindows ? "foo bar\\file.txt" : "foo bar/file.txt",
                path.Relative.Normalized);

            Assert.AreEqual("\\foo bar\\file.txt", path.Absolute.Windows);
            Assert.AreEqual("/foo bar/file.txt", path.Absolute.Unix);
            Assert.AreEqual(
                OSPath.IsWindows ? "\\foo bar\\file.txt" : "/foo bar/file.txt",
                path.Absolute.Normalized);
        }
Esempio n. 4
0
        public void Combine()
        {
            OSPath path = "/foo";
            var    file = path + "\\bar\\test.txt";

            Assert.AreEqual("/foo/bar/test.txt", file.Unix);
        }