public class FileSystemInfoTest : Assertion
{
string TempFolder = Path.Combine (Path.GetTempPath (), "MonoTests.System.IO.Tests");
+ static readonly char DSC = Path.DirectorySeparatorChar;
[SetUp]
protected void SetUp()
if (Directory.Exists (TempFolder))
Directory.Delete (TempFolder, true);
}
+
+ bool Windows
+ {
+ get {
+ return Path.DirectorySeparatorChar == '\\';
+ }
+ }
+
+ bool Unix
+ {
+ get {
+ return Path.DirectorySeparatorChar == '/';
+ }
+ }
+
+ bool Mac
+ {
+ get {
+ return Path.DirectorySeparatorChar == ':';
+ }
+ }
private void DeleteFile (string path)
{
[Test]
public void CreationTimeFile ()
{
- string path = TempFolder + "/FSIT.CreationTime.Test";
+ string path = TempFolder + DSC + "FSIT.CreationTime.Test";
DeleteFile (path);
-
+ if (Unix) { // Unix doesn't support CreationTimes
+ return;
+ }
try {
File.Create (path).Close ();
FileSystemInfo info = new FileInfo (path);
[Test]
public void CreationTimeDirectory ()
{
- string path = TempFolder + "/FSIT.CreationTimeDirectory.Test";
+ string path = TempFolder + DSC + "FSIT.CreationTimeDirectory.Test";
DeleteDir (path);
+ if (Unix) { // Unix doesn't support CreationTimes
+ return;
+ }
try {
FileSystemInfo info = Directory.CreateDirectory (path);
[Test]
public void CreationTimeNoFileOrDirectory ()
{
- string path = TempFolder + "/FSIT.CreationTimeNoFile.Test";
+ string path = TempFolder + DSC + "FSIT.CreationTimeNoFile.Test";
DeleteFile (path);
DeleteDir (path);
try {
FileSystemInfo info = new FileInfo (path);
- DateTime time = info.CreationTime;
+ DateTime time = TimeZone.CurrentTimeZone.ToUniversalTime(info.CreationTime);
AssertEquals ("test#01", 1601, time.Year);
AssertEquals ("test#02", 1, time.Month);
AssertEquals ("test#03", 1, time.Day);
- AssertEquals ("test#04", 9, time.Hour);
+ AssertEquals ("test#04", 0, time.Hour);
AssertEquals ("test#05", 0, time.Minute);
AssertEquals ("test#06", 0, time.Second);
AssertEquals ("test#07", 0, time.Millisecond);
info = new DirectoryInfo (path);
- time = info.CreationTime;
+ time = TimeZone.CurrentTimeZone.ToUniversalTime(info.CreationTime);
AssertEquals ("test#08", 1601, time.Year);
AssertEquals ("test#09", 1, time.Month);
AssertEquals ("test#10", 1, time.Day);
- AssertEquals ("test#11", 9, time.Hour);
+ AssertEquals ("test#11", 0, time.Hour);
AssertEquals ("test#12", 0, time.Minute);
AssertEquals ("test#13", 0, time.Second);
AssertEquals ("test#14", 0, time.Millisecond);
[Test]
public void Extenssion ()
{
- string path = TempFolder + "/FSIT.Extenssion.Test";
+ string path = TempFolder + DSC + "FSIT.Extenssion.Test";
DeleteFile (path);
try {
[Test]
public void DefaultLastAccessTime ()
{
- string path = TempFolder + "/FSIT.DefaultLastAccessTime.Test";
+ string path = TempFolder + DSC + "FSIT.DefaultLastAccessTime.Test";
DeleteFile (path);
try {
FileSystemInfo info = new FileInfo (path);
- DateTime time = info.LastAccessTime;
+ DateTime time = TimeZone.CurrentTimeZone.ToUniversalTime(info.LastAccessTime);
AssertEquals ("test#01", 1601, time.Year);
AssertEquals ("test#02", 1, time.Month);
AssertEquals ("test#03", 1, time.Day);
- AssertEquals ("test#04", 9, time.Hour);
+ AssertEquals ("test#04", 0, time.Hour);
AssertEquals ("test#05", 0, time.Minute);
AssertEquals ("test#06", 0, time.Second);
AssertEquals ("test#07", 0, time.Millisecond);
[Test]
public void LastAccessTime ()
{
- string path = TempFolder + "/FSIT.LastAccessTime.Test";
+ string path = TempFolder + DSC + "FSIT.LastAccessTime.Test";
DeleteFile (path);
try {
[Test]
public void DefaultLastWriteTime ()
{
- string path = TempFolder + "/FSIT.DefaultLastWriteTime.Test";
+ string path = TempFolder + DSC + "FSIT.DefaultLastWriteTime.Test";
DeleteDir (path);
try {
FileSystemInfo info = new DirectoryInfo (path);
- DateTime time = info.LastAccessTime;
+ DateTime time = TimeZone.CurrentTimeZone.ToUniversalTime(info.LastWriteTime);
AssertEquals ("test#01", 1601, time.Year);
AssertEquals ("test#02", 1, time.Month);
AssertEquals ("test#03", 1, time.Day);
- AssertEquals ("test#04", 9, time.Hour);
+ AssertEquals ("test#04", 0, time.Hour);
AssertEquals ("test#05", 0, time.Minute);
AssertEquals ("test#06", 0, time.Second);
AssertEquals ("test#07", 0, time.Millisecond);
[Test]
public void LastWriteTime ()
{
- string path = TempFolder + "/FSIT.LastWriteTime.Test";
+ string path = TempFolder + DSC + "FSIT.LastWriteTime.Test";
DeleteDir (path);
try {
AssertEquals ("test#03", 1, time.Day);
AssertEquals ("test#04", 1, time.Hour);
- time = TimeZone.CurrentTimeZone.ToLocalTime (info.LastWriteTimeUtc);
+ time = info.LastWriteTimeUtc.ToLocalTime ();
AssertEquals ("test#05", 2000, time.Year);
AssertEquals ("test#06", 1, time.Month);
AssertEquals ("test#07", 1, time.Day);
AssertEquals ("test#08", 1, time.Hour);
-
+
info.LastWriteTimeUtc = new DateTime (2000, 1, 1, 1, 1, 1);
- time = TimeZone.CurrentTimeZone.ToUniversalTime (info.LastWriteTime);
+ time = info.LastWriteTimeUtc;
AssertEquals ("test#09", 2000, time.Year);
AssertEquals ("test#10", 1, time.Month);
AssertEquals ("test#11", 1, time.Day);
AssertEquals ("test#12", 1, time.Hour);
- time = info.LastWriteTimeUtc;
+ time = info.LastWriteTime.ToUniversalTime ();
AssertEquals ("test#13", 2000, time.Year);
AssertEquals ("test#14", 1, time.Month);
AssertEquals ("test#15", 1, time.Day);