2 // System.IO.Directory
\r
5 // Ville Palo (vi64pa@kolumbus.fi)
\r
7 // (C) 2003 Ville Palo
\r
9 // TODO: Find out why ArgumentOutOfRange tests does not release directories properly
\r
12 using NUnit.Framework;
\r
16 using System.Globalization;
\r
17 using System.Threading;
\r
19 namespace MonoTests.System.IO {
\r
22 public class DirectoryTest : Assertion {
\r
24 string TempFolder = Path.Combine (Path.GetTempPath (), "MonoTests.System.IO.Tests");
\r
25 static readonly char DSC = Path.DirectorySeparatorChar;
\r
28 public void SetUp ()
\r
30 if (!Directory.Exists (TempFolder))
\r
31 Directory.CreateDirectory (TempFolder);
\r
33 Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
\r
37 public void TearDown () {
\r
38 if (Directory.Exists (TempFolder))
\r
39 Directory.Delete (TempFolder, true);
\r
43 public void CreateDirectory ()
\r
45 string path = TempFolder + DSC + "DirectoryTest.Test.1";
\r
46 DeleteDirectory (path);
\r
48 DirectoryInfo info = Directory.CreateDirectory (path);
\r
49 AssertEquals ("test#01", true, info.Exists);
\r
50 AssertEquals ("test#02", ".1", info.Extension);
\r
51 AssertEquals ("test#03", true, info.FullName.EndsWith ("DirectoryTest.Test.1"));
\r
52 AssertEquals ("test#04", "DirectoryTest.Test.1", info.Name);
\r
54 DeleteDirectory (path);
\r
59 [ExpectedException(typeof(ArgumentException))]
\r
60 public void CreateDirectoryNotSupportedException ()
\r
62 DeleteDirectory (":");
\r
63 DirectoryInfo info = Directory.CreateDirectory (":");
\r
64 DeleteDirectory (":");
\r
68 [ExpectedException(typeof(ArgumentNullException))]
\r
69 public void CreateDirectoryArgumentNullException ()
\r
71 DirectoryInfo info = Directory.CreateDirectory (null as string);
\r
75 [ExpectedException(typeof(ArgumentException))]
\r
76 public void CreateDirectoryArgumentException1 ()
\r
78 DirectoryInfo info = Directory.CreateDirectory ("");
\r
82 [ExpectedException(typeof(ArgumentException))]
\r
83 public void CreateDirectoryArgumentException2 ()
\r
85 DirectoryInfo info = Directory.CreateDirectory (" ");
\r
89 [ExpectedException(typeof(ArgumentException))]
\r
90 public void CreateDirectoryArgumentException3 ()
\r
92 string path = TempFolder + DSC + "DirectoryTest.Test";
\r
93 DeleteDirectory (path);
\r
95 path += Path.InvalidPathChars [0];
\r
97 DirectoryInfo info = Directory.CreateDirectory (path);
\r
99 DeleteDirectory (path);
\r
104 public void Delete ()
\r
106 string path = TempFolder + DSC + "DirectoryTest.Test.Delete.1";
\r
107 DeleteDirectory (path);
\r
109 Directory.CreateDirectory (path);
\r
110 AssertEquals ("test#01", true, Directory.Exists (path));
\r
112 Directory.CreateDirectory (path + DSC + "DirectoryTest.Test.Delete.1.2");
\r
113 AssertEquals ("test#02", true, Directory.Exists (path + DSC + "DirectoryTest.Test.Delete.1.2"));
\r
115 Directory.Delete (path + DSC + "DirectoryTest.Test.Delete.1.2");
\r
116 AssertEquals ("test#03", false, Directory.Exists (path + DSC + "DirectoryTest.Test.Delete.1.2"));
\r
117 AssertEquals ("test#04", true, Directory.Exists (path));
\r
119 Directory.Delete (path);
\r
120 AssertEquals ("test#05", false, Directory.Exists (path + DSC + "DirectoryTest.Test.Delete.1.2"));
\r
121 AssertEquals ("test#06", false, Directory.Exists (path));
\r
123 Directory.CreateDirectory (path);
\r
124 Directory.CreateDirectory (path + DSC + "DirectoryTest.Test.Delete.1.2");
\r
125 AssertEquals ("test#07", true, Directory.Exists (path + DSC + "DirectoryTest.Test.Delete.1.2"));
\r
126 AssertEquals ("test#08", true, Directory.Exists (path));
\r
128 Directory.Delete (path, true);
\r
129 AssertEquals ("test#09", false, Directory.Exists (path + DSC + "DirectoryTest.Test.Delete.1.2"));
\r
130 AssertEquals ("test#10", false, Directory.Exists (path));
\r
132 DeleteDirectory (path);
\r
137 [ExpectedException(typeof(ArgumentException))]
\r
138 public void DeleteArgumentException ()
\r
140 Directory.Delete ("");
\r
144 [ExpectedException(typeof(ArgumentException))]
\r
145 public void DeleteArgumentException2 ()
\r
147 Directory.Delete (" ");
\r
151 [ExpectedException(typeof(ArgumentException))]
\r
152 public void DeleteArgumentException3 ()
\r
154 string path = TempFolder + DSC + "DirectoryTest.Test.4";
\r
155 DeleteDirectory (path);
\r
157 path += Path.InvalidPathChars [0];
\r
158 Directory.Delete (path);
\r
162 [ExpectedException(typeof(ArgumentNullException))]
\r
163 public void DeleteArgumentNullException ()
\r
165 Directory.Delete (null as string);
\r
169 [ExpectedException(typeof(DirectoryNotFoundException))]
\r
170 public void DeleteDirectoryNotFoundException ()
\r
172 string path = TempFolder + DSC + "DirectoryTest.Test.5";
\r
173 DeleteDirectory (path);
\r
175 Directory.Delete (path);
\r
179 [ExpectedException(typeof(IOException))]
\r
180 public void DeleteArgumentException4 ()
\r
182 string path = TempFolder + DSC + "DirectoryTest.Test.6";
\r
183 DeleteDirectory (path);
\r
184 FileStream s = null;
\r
185 Directory.CreateDirectory (path);
\r
187 s = File.Create (path + DSC + "DirectoryTest.Test.6");
\r
188 Directory.Delete (path);
\r
192 DeleteDirectory (path);
\r
197 public void Exists ()
\r
199 AssertEquals ("test#01", false, Directory.Exists (null as string));
\r
203 [ExpectedException(typeof(ArgumentNullException))]
\r
204 public void GetCreationTimeException1 ()
\r
206 Directory.GetCreationTime (null as string);
\r
210 [ExpectedException(typeof(ArgumentException))]
\r
211 public void GetCreationTimeException2 ()
\r
213 Directory.GetCreationTime ("");
\r
217 [ExpectedException(typeof(IOException))]
\r
218 public void GetCreationTimeException3 ()
\r
220 string path = TempFolder + DSC + "DirectoryTest.GetCreationTime.1";
\r
221 DeleteDirectory (path);
\r
223 Directory.GetCreationTime (path);
\r
225 DeleteDirectory (path);
\r
230 [ExpectedException(typeof(ArgumentException))]
\r
231 public void GetCreationTimeException4 ()
\r
233 Directory.GetCreationTime (" ");
\r
237 [ExpectedException(typeof(ArgumentException))]
\r
238 public void GetCreationTimeException5 ()
\r
240 Directory.GetCreationTime (Path.InvalidPathChars [0].ToString ());
\r
244 [ExpectedException(typeof(ArgumentNullException))]
\r
245 public void GetCreationTimeUtcException1 ()
\r
247 Directory.GetCreationTimeUtc (null as string);
\r
251 [ExpectedException(typeof(ArgumentException))]
\r
252 public void GetCreationTimeUtcException2 ()
\r
254 Directory.GetCreationTimeUtc ("");
\r
258 [ExpectedException(typeof(IOException))]
\r
259 public void GetCreationTimeUtcException3 ()
\r
261 string path = TempFolder + DSC + "DirectoryTest.GetCreationTimeUtc.1";
\r
262 DeleteDirectory (path);
\r
265 Directory.GetCreationTimeUtc (path);
\r
267 DeleteDirectory (path);
\r
272 [ExpectedException(typeof(ArgumentException))]
\r
273 public void GetCreationTimeUtcException4 ()
\r
275 Directory.GetCreationTimeUtc (" ");
\r
279 [ExpectedException(typeof(ArgumentException))]
\r
280 public void GetCreationTimeUtcException5 ()
\r
282 Directory.GetCreationTime (Path.InvalidPathChars [0].ToString ());
\r
286 [ExpectedException(typeof(ArgumentNullException))]
\r
287 public void GetLastAccessTimeException1 ()
\r
289 Directory.GetLastAccessTime (null as string);
\r
293 [ExpectedException(typeof(ArgumentException))]
\r
294 public void GetLastAccessTimeException2 ()
\r
296 Directory.GetLastAccessTime ("");
\r
300 [ExpectedException(typeof(IOException))]
\r
301 public void GetLastAccessTimeException3 ()
\r
303 string path = TempFolder + DSC + "DirectoryTest.GetLastAccessTime.1";
\r
304 DeleteDirectory (path);
\r
307 Directory.GetLastAccessTime (path);
\r
309 DeleteDirectory (path);
\r
314 [ExpectedException(typeof(ArgumentException))]
\r
315 public void GetLastAccessTimeException4 ()
\r
317 Directory.GetLastAccessTime (" ");
\r
321 [ExpectedException(typeof(ArgumentException))]
\r
322 public void GetLastAccessTimeException5 ()
\r
324 Directory.GetLastAccessTime (Path.InvalidPathChars [0].ToString ());
\r
328 [ExpectedException(typeof(ArgumentNullException))]
\r
329 public void GetLastAccessTimeUtcException1 ()
\r
331 Directory.GetLastAccessTimeUtc (null as string);
\r
335 [ExpectedException(typeof(ArgumentException))]
\r
336 public void GetLastAccessTimeUtcException2 ()
\r
338 Directory.GetLastAccessTimeUtc ("");
\r
342 [ExpectedException(typeof(IOException))]
\r
343 public void GetLastAccessTimeUtcException3 ()
\r
345 string path = TempFolder + DSC + "DirectoryTest.GetLastAccessTimeUtc.1";
\r
346 DeleteDirectory (path);
\r
348 Directory.GetLastAccessTimeUtc (path);
\r
350 DeleteDirectory (path);
\r
355 [ExpectedException(typeof(ArgumentException))]
\r
356 public void GetLastAccessTimeUtcException4 ()
\r
358 Directory.GetLastAccessTimeUtc (" ");
\r
362 [ExpectedException(typeof(ArgumentException))]
\r
363 public void GetLastAccessTimeUtcException5 ()
\r
365 Directory.GetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString ());
\r
369 [ExpectedException(typeof(ArgumentNullException))]
\r
370 public void GetLastWriteTimeException1 ()
\r
372 Directory.GetLastWriteTime (null as string);
\r
376 [ExpectedException(typeof(ArgumentException))]
\r
377 public void GetLastWriteTimeException2 ()
\r
379 Directory.GetLastWriteTime ("");
\r
383 [ExpectedException(typeof(IOException))]
\r
384 public void GetLastWriteTimeException3 ()
\r
386 string path = TempFolder + DSC + "DirectoryTest.GetLastWriteTime.1";
\r
387 DeleteDirectory (path);
\r
389 Directory.GetLastWriteTime (path);
\r
391 DeleteDirectory (path);
\r
396 [ExpectedException(typeof(ArgumentException))]
\r
397 public void GetLastWriteTimeException4 ()
\r
399 Directory.GetLastWriteTime (" ");
\r
403 [ExpectedException(typeof(ArgumentException))]
\r
404 public void GetLastWriteTimeException5 ()
\r
406 Directory.GetLastWriteTime (Path.InvalidPathChars [0].ToString ());
\r
410 [ExpectedException(typeof(ArgumentNullException))]
\r
411 public void GetLastWriteTimeUtcException1 ()
\r
413 Directory.GetLastWriteTimeUtc (null as string);
\r
417 [ExpectedException(typeof(ArgumentException))]
\r
418 public void GetLastWriteTimeUtcException2 ()
\r
420 Directory.GetLastAccessTimeUtc ("");
\r
424 [ExpectedException(typeof(IOException))]
\r
425 public void GetLastWriteTimeUtcException3 ()
\r
427 string path = TempFolder + DSC + "DirectoryTest.GetLastWriteTimeUtc.1";
\r
428 DeleteDirectory (path);
\r
430 Directory.GetLastAccessTimeUtc (path);
\r
432 DeleteDirectory (path);
\r
438 [ExpectedException(typeof(ArgumentException))]
\r
439 public void GetLastWriteTimeUtcException4 ()
\r
441 Directory.GetLastAccessTimeUtc (" ");
\r
445 [ExpectedException(typeof(ArgumentException))]
\r
446 public void GetLastWriteTimeUtcException5 ()
\r
448 Directory.GetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString ());
\r
452 public void Move ()
\r
454 string path = TempFolder + DSC + "DirectoryTest.Test.9";
\r
455 string path2 = TempFolder + DSC + "DirectoryTest.Test.10";
\r
456 DeleteDirectory (path);
\r
457 DeleteDirectory (path2);
\r
459 Directory.CreateDirectory (path);
\r
460 Directory.CreateDirectory (path + DSC + "dir");
\r
461 AssertEquals ("test#01", true, Directory.Exists (path + DSC + "dir"));
\r
463 Directory.Move (path, path2);
\r
464 AssertEquals ("test#02", false, Directory.Exists (path + DSC + "dir"));
\r
465 AssertEquals ("test#03", true, Directory.Exists (path2 + DSC + "dir"));
\r
468 DeleteDirectory (path);
\r
469 DeleteDirectory (path2);
\r
470 if (Directory.Exists (path2 + DSC + "dir"))
\r
471 Directory.Delete (path2 + DSC + "dir", true);
\r
476 [ExpectedException(typeof(IOException))]
\r
477 public void MoveException1 ()
\r
479 string path = TempFolder + DSC + "DirectoryTest.Test.8";
\r
480 DeleteDirectory (path);
\r
482 Directory.Move (path, path);
\r
484 DeleteDirectory (path);
\r
489 [ExpectedException(typeof(ArgumentException))]
\r
490 public void MoveException2 ()
\r
492 string path = TempFolder + DSC + "DirectoryTest.Test.11";
\r
493 DeleteDirectory (path);
\r
495 Directory.Move ("", path);
\r
497 DeleteDirectory (path);
\r
502 [ExpectedException(typeof(ArgumentException))]
\r
503 public void MoveException3 ()
\r
505 string path = TempFolder + DSC + "DirectoryTest.Test.12";
\r
506 DeleteDirectory (path);
\r
508 Directory.Move (" ", path);
\r
510 DeleteDirectory (path);
\r
515 [ExpectedException(typeof(ArgumentException))]
\r
516 public void MoveException4 ()
\r
518 string path = TempFolder + DSC + "DirectoryTest.Test.13";
\r
519 path += Path.InvalidPathChars [0];
\r
520 string path2 = TempFolder + DSC + "DirectoryTest.Test.13";
\r
521 DeleteDirectory (path);
\r
522 DeleteDirectory (path2);
\r
524 Directory.CreateDirectory (path2);
\r
525 Directory.Move (path2, path);
\r
527 DeleteDirectory (path);
\r
528 DeleteDirectory (path2);
\r
533 [ExpectedException(typeof(DirectoryNotFoundException))]
\r
534 public void MoveException5 ()
\r
536 string path = TempFolder + DSC + "DirectoryTest.Test.14";
\r
537 DeleteDirectory (path);
\r
539 Directory.Move (path, path + "Test.Test");
\r
541 DeleteDirectory (path);
\r
542 DeleteDirectory (path + "Test.Test");
\r
547 [ExpectedException(typeof(IOException))]
\r
548 public void MoveException6 ()
\r
550 string path = TempFolder + DSC + "DirectoryTest.Test.15";
\r
551 DeleteDirectory (path);
\r
553 Directory.CreateDirectory (path);
\r
554 Directory.Move (path, path + DSC + "dir");
\r
556 DeleteDirectory (path);
\r
557 DeleteDirectory (path + DSC + "dir");
\r
562 [ExpectedException(typeof(IOException))]
\r
563 public void MoveException7 ()
\r
565 string path = TempFolder + DSC + "DirectoryTest.Test.16";
\r
566 string path2 = TempFolder + DSC + "DirectoryTest.Test.17";
\r
568 DeleteDirectory (path);
\r
569 DeleteDirectory (path2);
\r
571 Directory.CreateDirectory (path);
\r
572 Directory.CreateDirectory (path2);
\r
573 Directory.Move (path, path2);
\r
575 DeleteDirectory (path);
\r
576 DeleteDirectory (path2);
\r
581 [Ignore("Unix doesnt support CreationTime")]
\r
582 public void CreationTime ()
\r
584 string path = TempFolder + DSC + "DirectoryTest.CreationTime.1";
\r
585 DeleteDirectory (path);
\r
588 Directory.CreateDirectory (path);
\r
589 Directory.SetCreationTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
591 DateTime time = Directory.GetCreationTime (path);
\r
592 AssertEquals ("test#01", 2003, time.Year);
\r
593 AssertEquals ("test#02", 6, time.Month);
\r
594 AssertEquals ("test#03", 4, time.Day);
\r
595 AssertEquals ("test#04", 6, time.Hour);
\r
596 AssertEquals ("test#05", 4, time.Minute);
\r
597 AssertEquals ("test#06", 0, time.Second);
\r
599 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetCreationTimeUtc (path));
\r
600 AssertEquals ("test#07", 2003, time.Year);
\r
601 AssertEquals ("test#08", 6, time.Month);
\r
602 AssertEquals ("test#09", 4, time.Day);
\r
603 AssertEquals ("test#10", 6, time.Hour);
\r
604 AssertEquals ("test#11", 4, time.Minute);
\r
605 AssertEquals ("test#12", 0, time.Second);
\r
607 Directory.SetCreationTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
608 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetCreationTime (path));
\r
609 AssertEquals ("test#13", 2003, time.Year);
\r
610 AssertEquals ("test#14", 6, time.Month);
\r
611 AssertEquals ("test#15", 4, time.Day);
\r
612 AssertEquals ("test#16", 6, time.Hour);
\r
613 AssertEquals ("test#17", 4, time.Minute);
\r
614 AssertEquals ("test#18", 0, time.Second);
\r
616 time = Directory.GetCreationTimeUtc (path);
\r
617 AssertEquals ("test#19", 2003, time.Year);
\r
618 AssertEquals ("test#20", 6, time.Month);
\r
619 AssertEquals ("test#21", 4, time.Day);
\r
620 AssertEquals ("test#22", 6, time.Hour);
\r
621 AssertEquals ("test#23", 4, time.Minute);
\r
622 AssertEquals ("test#24", 0, time.Second);
\r
624 DeleteDirectory (path);
\r
629 public void LastAccessTime ()
\r
631 string path = TempFolder + DSC + "DirectoryTest.AccessTime.1";
\r
632 DeleteDirectory (path);
\r
635 Directory.CreateDirectory (path);
\r
636 Directory.SetLastAccessTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
638 DateTime time = Directory.GetLastAccessTime (path);
\r
639 AssertEquals ("test#01", 2003, time.Year);
\r
640 AssertEquals ("test#02", 6, time.Month);
\r
641 AssertEquals ("test#03", 4, time.Day);
\r
642 AssertEquals ("test#04", 6, time.Hour);
\r
643 AssertEquals ("test#05", 4, time.Minute);
\r
644 AssertEquals ("test#06", 0, time.Second);
\r
646 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetLastAccessTimeUtc (path));
\r
647 AssertEquals ("test#07", 2003, time.Year);
\r
648 AssertEquals ("test#08", 6, time.Month);
\r
649 AssertEquals ("test#09", 4, time.Day);
\r
650 AssertEquals ("test#10", 6, time.Hour);
\r
651 AssertEquals ("test#11", 4, time.Minute);
\r
652 AssertEquals ("test#12", 0, time.Second);
\r
654 Directory.SetLastAccessTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
655 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetLastAccessTime (path));
\r
656 AssertEquals ("test#13", 2003, time.Year);
\r
657 AssertEquals ("test#14", 6, time.Month);
\r
658 AssertEquals ("test#15", 4, time.Day);
\r
659 AssertEquals ("test#16", 6, time.Hour);
\r
660 AssertEquals ("test#17", 4, time.Minute);
\r
661 AssertEquals ("test#18", 0, time.Second);
\r
663 time = Directory.GetLastAccessTimeUtc (path);
\r
664 AssertEquals ("test#19", 2003, time.Year);
\r
665 AssertEquals ("test#20", 6, time.Month);
\r
666 AssertEquals ("test#21", 4, time.Day);
\r
667 AssertEquals ("test#22", 6, time.Hour);
\r
668 AssertEquals ("test#23", 4, time.Minute);
\r
669 AssertEquals ("test#24", 0, time.Second);
\r
671 DeleteDirectory (path);
\r
676 public void LastWriteTime ()
\r
678 string path = TempFolder + DSC + "DirectoryTest.WriteTime.1";
\r
679 DeleteDirectory (path);
\r
682 Directory.CreateDirectory (path);
\r
683 Directory.SetLastWriteTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
685 DateTime time = Directory.GetLastWriteTime (path);
\r
686 AssertEquals ("test#01", 2003, time.Year);
\r
687 AssertEquals ("test#02", 6, time.Month);
\r
688 AssertEquals ("test#03", 4, time.Day);
\r
689 AssertEquals ("test#04", 6, time.Hour);
\r
690 AssertEquals ("test#05", 4, time.Minute);
\r
691 AssertEquals ("test#06", 0, time.Second);
\r
693 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetLastWriteTimeUtc (path));
\r
694 AssertEquals ("test#07", 2003, time.Year);
\r
695 AssertEquals ("test#08", 6, time.Month);
\r
696 AssertEquals ("test#09", 4, time.Day);
\r
697 AssertEquals ("test#10", 6, time.Hour);
\r
698 AssertEquals ("test#11", 4, time.Minute);
\r
699 AssertEquals ("test#12", 0, time.Second);
\r
701 Directory.SetLastWriteTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
702 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetLastWriteTime (path));
\r
703 AssertEquals ("test#13", 2003, time.Year);
\r
704 AssertEquals ("test#14", 6, time.Month);
\r
705 AssertEquals ("test#15", 4, time.Day);
\r
706 AssertEquals ("test#16", 6, time.Hour);
\r
707 AssertEquals ("test#17", 4, time.Minute);
\r
708 AssertEquals ("test#18", 0, time.Second);
\r
710 time = Directory.GetLastWriteTimeUtc (path);
\r
711 AssertEquals ("test#19", 2003, time.Year);
\r
712 AssertEquals ("test#20", 6, time.Month);
\r
713 AssertEquals ("test#21", 4, time.Day);
\r
714 AssertEquals ("test#22", 6, time.Hour);
\r
715 AssertEquals ("test#23", 4, time.Minute);
\r
716 AssertEquals ("test#24", 0, time.Second);
\r
718 DeleteDirectory (path);
\r
723 [ExpectedException(typeof(ArgumentNullException))]
\r
724 public void SetLastWriteTimeException1 ()
\r
726 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
727 Directory.SetLastWriteTime (null as string, time);
\r
731 [ExpectedException(typeof(ArgumentException))]
\r
732 public void SetLastWriteTimeException2 ()
\r
734 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
735 Directory.SetLastWriteTime ("", time);
\r
739 [ExpectedException(typeof(FileNotFoundException))]
\r
740 public void SetLastWriteTimeException3 ()
\r
742 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
743 string path = TempFolder + DSC + "DirectoryTest.SetLastWriteTime.2";
\r
744 DeleteDirectory (path);
\r
746 Directory.SetLastWriteTime (path, time);
\r
748 DeleteDirectory (path);
\r
753 [ExpectedException(typeof(ArgumentException))]
\r
754 public void SetLastWriteTimeException4 ()
\r
756 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
757 Directory.SetLastWriteTime (" ", time);
\r
761 [ExpectedException(typeof(ArgumentException))]
\r
762 public void SetLastWriteTimeException5 ()
\r
764 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
765 Directory.SetLastWriteTime (Path.InvalidPathChars [0].ToString (), time);
\r
769 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
770 // public void SetLastWriteTimeException6 ()
\r
772 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
773 // string path = TempFolder + Path.DirectorySeparatorChar + "DirectoryTest.SetLastWriteTime.1";
\r
776 // if (!Directory.Exists (path))
\r
777 // Directory.CreateDirectory (path);
\r
779 // Directory.SetLastWriteTime (path, time);
\r
781 // DeleteDirectory (path);
\r
787 [ExpectedException(typeof(ArgumentNullException))]
\r
788 public void SetLastWriteTimeUtcException1 ()
\r
790 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
791 Directory.SetLastWriteTimeUtc (null as string, time);
\r
795 [ExpectedException(typeof(ArgumentException))]
\r
796 public void SetLastWriteTimeUtcException2 ()
\r
798 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
799 Directory.SetLastWriteTimeUtc ("", time);
\r
803 [ExpectedException(typeof(FileNotFoundException))]
\r
804 public void SetLastWriteTimeUtcException3 ()
\r
806 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
807 string path = TempFolder + DSC + "DirectoryTest.SetLastWriteTimeUtc.2";
\r
808 DeleteDirectory (path);
\r
810 Directory.SetLastWriteTimeUtc (path, time);
\r
812 DeleteDirectory (path);
\r
817 [ExpectedException(typeof(ArgumentException))]
\r
818 public void SetLastWriteTimeUtcException4 ()
\r
820 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
821 Directory.SetLastWriteTimeUtc (" ", time);
\r
825 [ExpectedException(typeof(ArgumentException))]
\r
826 public void SetLastWriteTimeUtcException5 ()
\r
828 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
829 Directory.SetLastWriteTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
833 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
834 // public void SetLastWriteTimeUtcException6 ()
\r
836 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
837 // string path = TempFolder + DSC + "DirectoryTest.SetLastWriteTimeUtc.1";
\r
839 // if (!Directory.Exists (path))
\r
840 // Directory.CreateDirectory (path);
\r
842 // Directory.SetLastWriteTimeUtc (path, time);
\r
844 // DeleteDirectory (path);
\r
849 [ExpectedException(typeof(ArgumentNullException))]
\r
850 public void SetLastAccessTimeException1 ()
\r
852 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
853 Directory.SetLastAccessTime (null as string, time);
\r
857 [ExpectedException(typeof(ArgumentException))]
\r
858 public void SetLastAccessTimeException2 ()
\r
860 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
861 Directory.SetLastAccessTime ("", time);
\r
865 [ExpectedException(typeof(FileNotFoundException))]
\r
866 public void SetLastAccessTimeException3 ()
\r
868 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
869 string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTime.2";
\r
870 DeleteDirectory (path);
\r
872 Directory.SetLastAccessTime (path, time);
\r
874 DeleteDirectory (path);
\r
879 [ExpectedException(typeof(ArgumentException))]
\r
880 public void SetLastAccessTimeException4 ()
\r
882 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
883 Directory.SetLastAccessTime (" ", time);
\r
887 [ExpectedException(typeof(ArgumentException))]
\r
888 public void SetLastAccessTimeException5 ()
\r
890 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
891 Directory.SetLastAccessTime (Path.InvalidPathChars [0].ToString (), time);
\r
895 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
896 // public void SetLastAccessTimeException6 ()
\r
898 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
899 // string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTime.1";
\r
901 // if (!Directory.Exists (path))
\r
902 // Directory.CreateDirectory (path);
\r
904 // Directory.SetLastAccessTime (path, time);
\r
906 // DeleteDirectory (path);
\r
912 [ExpectedException(typeof(ArgumentNullException))]
\r
913 public void SetLastAccessTimeUtcException1 ()
\r
915 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
916 Directory.SetLastAccessTimeUtc (null as string, time);
\r
920 [ExpectedException(typeof(ArgumentException))]
\r
921 public void SetLastAccessTimeUtcException2 ()
\r
923 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
924 Directory.SetLastAccessTimeUtc ("", time);
\r
928 [ExpectedException(typeof(FileNotFoundException))]
\r
929 public void SetLastAccessTimeUtcException3 ()
\r
931 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
932 string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTimeUtc.2";
\r
933 DeleteDirectory (path);
\r
935 Directory.SetLastAccessTimeUtc (path, time);
\r
937 DeleteDirectory (path);
\r
942 [ExpectedException(typeof(ArgumentException))]
\r
943 public void SetLastAccessTimeUtcException4 ()
\r
945 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
946 Directory.SetLastAccessTimeUtc (" ", time);
\r
950 [ExpectedException(typeof(ArgumentException))]
\r
951 public void SetLastAccessTimeUtcException5 ()
\r
953 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
954 Directory.SetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
958 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
959 // public void SetLastAccessTimeUtcException6 ()
\r
961 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
962 // string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTimeUtc.1";
\r
964 // if (!Directory.Exists (path))
\r
965 // Directory.CreateDirectory (path);
\r
967 // Directory.SetLastAccessTimeUtc (path, time);
\r
969 // DeleteDirectory (path);
\r
974 [ExpectedException(typeof(ArgumentNullException))]
\r
975 public void SetCreationTimeException1 ()
\r
977 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
978 Directory.SetCreationTime (null as string, time);
\r
982 [ExpectedException(typeof(ArgumentException))]
\r
983 public void SetCreationTimeException2 ()
\r
985 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
986 Directory.SetCreationTime ("", time);
\r
990 [ExpectedException(typeof(FileNotFoundException))]
\r
991 public void SetCreationTimeException3 ()
\r
993 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
994 string path = TempFolder + DSC + "DirectoryTest.SetCreationTime.2";
\r
995 DeleteDirectory (path);
\r
998 Directory.SetCreationTime (path, time);
\r
1000 DeleteDirectory (path);
\r
1005 [ExpectedException(typeof(ArgumentException))]
\r
1006 public void SetCreationTimeException4 ()
\r
1008 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1009 Directory.SetCreationTime (" ", time);
\r
1013 [ExpectedException(typeof(ArgumentException))]
\r
1014 public void SetCreationTimeException5 ()
\r
1016 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1017 Directory.SetCreationTime (Path.InvalidPathChars [0].ToString (), time);
\r
1021 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
1022 // public void SetCreationTimeException6 ()
\r
1024 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
1025 // string path = TempFolder + DSC + "DirectoryTest.SetCreationTime.1";
\r
1027 // if (!Directory.Exists (path))
\r
1028 // Directory.CreateDirectory (path);
\r
1030 // Directory.SetCreationTime (path, time);
\r
1031 // DeleteDirectory (path);
\r
1033 // DeleteDirectory (path);
\r
1039 [ExpectedException(typeof(ArgumentNullException))]
\r
1040 public void SetCreationTimeUtcException1 ()
\r
1042 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1043 Directory.SetCreationTimeUtc (null as string, time);
\r
1047 [ExpectedException(typeof(ArgumentException))]
\r
1048 public void SetCreationTimeUtcException2 ()
\r
1050 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1051 Directory.SetCreationTimeUtc ("", time);
\r
1055 [ExpectedException(typeof(FileNotFoundException))]
\r
1056 public void SetCreationTimeUtcException3 ()
\r
1058 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1059 string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTimeUtc.2";
\r
1060 DeleteDirectory (path);
\r
1063 Directory.SetCreationTimeUtc (path, time);
\r
1064 DeleteDirectory (path);
\r
1066 DeleteDirectory (path);
\r
1071 [ExpectedException(typeof(ArgumentException))]
\r
1072 public void SetCreationTimeUtcException4 ()
\r
1074 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1075 Directory.SetCreationTimeUtc (" ", time);
\r
1079 [ExpectedException(typeof(ArgumentException))]
\r
1080 public void SetCreationTimeUtcException5 ()
\r
1082 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1083 Directory.SetCreationTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
1087 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
1088 // public void SetCreationTimeUtcException6 ()
\r
1090 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
1091 // string path = TempFolder + DSC + "DirectoryTest.SetLastAccessTimeUtc.1";
\r
1093 // if (!Directory.Exists (path))
\r
1094 // Directory.CreateDirectory (path);
\r
1096 // Directory.SetCreationTimeUtc (path, time);
\r
1097 // DeleteDirectory (path);
\r
1099 // DeleteDirectory (path);
\r
1104 public void GetDirectories ()
\r
1106 string path = TempFolder;
\r
1107 string DirPath = TempFolder + Path.DirectorySeparatorChar + ".GetDirectories";
\r
1108 DeleteDirectory (DirPath);
\r
1111 Directory.CreateDirectory (DirPath);
\r
1113 string [] dirs = Directory.GetDirectories (path);
\r
1115 foreach (string directory in dirs) {
\r
1117 if (directory == DirPath)
\r
1121 Assert ("Directory Not Found", false);
\r
1123 DeleteDirectory (DirPath);
\r
1128 public void GetParentOfRootDirectory ()
\r
1130 DirectoryInfo info;
\r
1132 info = Directory.GetParent (Path.GetPathRoot (Path.GetTempPath ()));
\r
1133 AssertEquals (null, info);
\r
1137 public void GetFiles ()
\r
1139 string path = TempFolder;
\r
1140 string DirPath = TempFolder + Path.DirectorySeparatorChar + ".GetFiles";
\r
1141 if (File.Exists (DirPath))
\r
1142 File.Delete (DirPath);
\r
1145 File.Create (DirPath).Close ();
\r
1146 string [] files = Directory.GetFiles (TempFolder);
\r
1147 foreach (string directory in files) {
\r
1149 if (directory == DirPath)
\r
1153 Assert ("File Not Found", false);
\r
1155 if (File.Exists (DirPath))
\r
1156 File.Delete (DirPath);
\r
1162 [ExpectedException (typeof (ArgumentNullException))]
\r
1163 public void SetCurrentDirectoryNull ()
\r
1165 Directory.SetCurrentDirectory (null);
\r
1169 [ExpectedException (typeof (ArgumentException))]
\r
1170 public void SetCurrentDirectoryEmpty ()
\r
1172 Directory.SetCurrentDirectory (String.Empty);
\r
1176 [ExpectedException (typeof (ArgumentException))]
\r
1177 public void SetCurrentDirectoryWhitespace ()
\r
1179 Directory.SetCurrentDirectory (" ");
\r
1184 public void GetNoFiles () // Bug 58875. This throwed an exception on windows.
\r
1186 DirectoryInfo dir = new DirectoryInfo (".");
\r
1187 dir.GetFiles ("*.nonext");
\r
1190 private void DeleteDirectory (string path)
\r
1192 if (Directory.Exists (path))
\r
1193 Directory.Delete (path, true);
\r