2 // Mono.Unix.UnixPath Test Cases
5 // Jonathan Pryor (jonpryor@vt.edu)
7 // (c) 2006 Jonathan Pryor
10 using NUnit.Framework;
16 namespace MonoTests.Mono.Unix
19 [TestFixture, Category ("NotDotNet")]
20 public class UnixPathTest {
22 private static readonly char DSC = UnixPath.DirectorySeparatorChar;
25 public void Combine ()
27 string path, expected;
28 string current = UnixDirectoryInfo.GetCurrentDirectory ();
30 path = UnixPath.Combine ("/etc", "init.d");
31 Assert.AreEqual ("/etc/init.d", path);
33 path = UnixPath.Combine ("one", "");
34 Assert.AreEqual ("one", path);
36 path = UnixPath.Combine ("", "one");
37 Assert.AreEqual ("one", path);
39 path = UnixPath.Combine (current, "one");
40 expected = current + DSC + "one";
41 Assert.AreEqual (expected, path);
43 path = UnixPath.Combine ("one", current);
44 Assert.AreEqual (current, path);
46 path = UnixPath.Combine (current, expected);
47 Assert.AreEqual (expected, path);
50 path = UnixPath.Combine (path, "two" + DSC);
51 expected = DSC + "one" + DSC + "two" + DSC;
52 Assert.AreEqual (expected, path);
55 path = UnixPath.Combine (path, DSC + "two");
56 expected = DSC + "two";
57 Assert.AreEqual (expected, path);
60 path = UnixPath.Combine (path, "two" + DSC);
61 expected = "one" + DSC + "two" + DSC;
62 Assert.AreEqual (expected, path);
64 path = UnixPath.Combine ("/a", "b", "c", "/d", "e");
66 Assert.AreEqual (expected, path);
69 path = UnixPath.Combine ("one", null);
70 Assert.Fail ("Combine Fail #01");
73 Assert.AreEqual (typeof (ArgumentNullException), e.GetType ());
77 path = UnixPath.Combine (null, "one");
78 Assert.Fail ("Combine Fail #02");
81 Assert.AreEqual (typeof (ArgumentNullException), e.GetType ());