8
public class FilePathTest
10
static bool RunningOnLinux = !Environment.OSVersion.Platform.ToString().StartsWith("Win");
13
public void SetLastWriteTime_Directory ()
15
var temp = (FilePath) Path.Combine (Path.GetTempPath (), Path.GetRandomFileName ());
16
Directory.CreateDirectory (temp);
19
var lastWriteTime = temp.LastModified ();
20
Assert.AreNotEqual (0, lastWriteTime, "#1");
22
lastWriteTime += (long)TimeSpan.FromHours (1).TotalMilliseconds;
23
temp.SetLastModified (lastWriteTime);
24
Assert.AreEqual (lastWriteTime, temp.LastModified (), "#2");
26
Directory.Delete (temp);
31
public void SetLastWriteTime_File ()
33
var temp = (FilePath) Path.GetTempFileName ();
35
var lastWriteTime = temp.LastModified ();
36
Assert.AreNotEqual (0, lastWriteTime, "#1");
38
lastWriteTime += (long)TimeSpan.FromHours (1).TotalMilliseconds;
39
temp.SetLastModified (lastWriteTime);
40
Assert.AreEqual (lastWriteTime, temp.LastModified (), "#2");
47
public void CombineTwoAbsolutes_Unix ()
49
var result = RunningOnLinux ? "/Foo/Bar" : @"C:\Foo\Bar";
50
Assert.AreEqual(result, new FilePath("/Foo", "/Bar").GetAbsolutePath());
54
public void CombineTwoAbsolutes_DoubleSeperator_Unix ()
56
var result = RunningOnLinux ? "/Foo/Bar" : @"C:\Foo\Bar";
57
Assert.AreEqual (result, new FilePath ("/Foo", "////Bar").GetAbsolutePath ());
61
public void CombineTwoAbsolutes_NullParentFilePath_Unix ()
63
var result = RunningOnLinux ? "/Bar" : @"C:\Bar";
64
Assert.AreEqual(result, new FilePath((FilePath)null, "/Bar").GetAbsolutePath());
68
public void CombineTwoAbsolutes_NullParentString_Unix ()
70
var result = RunningOnLinux ? "/Bar" : @"C:\Bar";
71
Assert.AreEqual(result, new FilePath((string)null, "/Bar").GetAbsolutePath());
75
public void CombineTwoAbsolutes_WindowsStyle_Unix ()
77
var result = RunningOnLinux ? @"/Foo/\Bar" : @"C:\Foo\Bar";
78
Assert.AreEqual(result, new FilePath("/Foo", @"\Bar").GetAbsolutePath());