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
27 public void SetUp ()
\r
29 if (!Directory.Exists (TempFolder))
\r
30 Directory.CreateDirectory (TempFolder);
\r
32 Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
\r
36 public void TearDown () {
\r
37 if (Directory.Exists (TempFolder))
\r
38 Directory.Delete (TempFolder, true);
\r
42 public void CreateDirectory ()
\r
44 string path = TempFolder + "/DirectoryTest.Test.1";
\r
45 DeleteDirectory (path);
\r
47 DirectoryInfo info = Directory.CreateDirectory (path);
\r
48 AssertEquals ("test#01", true, info.Exists);
\r
49 AssertEquals ("test#02", ".1", info.Extension);
\r
50 AssertEquals ("test#03", true, info.FullName.EndsWith ("DirectoryTest.Test.1"));
\r
51 AssertEquals ("test#04", "DirectoryTest.Test.1", info.Name);
\r
53 DeleteDirectory (path);
\r
58 [ExpectedException(typeof(ArgumentException))]
\r
59 public void CreateDirectoryNotSupportedException ()
\r
61 DeleteDirectory (":");
\r
62 DirectoryInfo info = Directory.CreateDirectory (":");
\r
63 DeleteDirectory (":");
\r
67 [ExpectedException(typeof(ArgumentNullException))]
\r
68 public void CreateDirectoryArgumentNullException ()
\r
70 DirectoryInfo info = Directory.CreateDirectory (null as string);
\r
74 [ExpectedException(typeof(ArgumentException))]
\r
75 public void CreateDirectoryArgumentException1 ()
\r
77 DirectoryInfo info = Directory.CreateDirectory ("");
\r
81 [ExpectedException(typeof(ArgumentException))]
\r
82 public void CreateDirectoryArgumentException2 ()
\r
84 DirectoryInfo info = Directory.CreateDirectory (" ");
\r
88 [ExpectedException(typeof(ArgumentException))]
\r
89 public void CreateDirectoryArgumentException3 ()
\r
91 string path = TempFolder + "/DirectoryTest.Test";
\r
92 DeleteDirectory (path);
\r
94 path += Path.InvalidPathChars [0];
\r
96 DirectoryInfo info = Directory.CreateDirectory (path);
\r
98 DeleteDirectory (path);
\r
103 public void Delete ()
\r
105 string path = TempFolder + "/DirectoryTest.Test.Delete.1";
\r
106 DeleteDirectory (path);
\r
108 Directory.CreateDirectory (path);
\r
109 AssertEquals ("test#01", true, Directory.Exists (path));
\r
111 Directory.CreateDirectory (path + "/DirectoryTest.Test.Delete.1.2");
\r
112 AssertEquals ("test#02", true, Directory.Exists (path + "/DirectoryTest.Test.Delete.1.2"));
\r
114 Directory.Delete (path + "/DirectoryTest.Test.Delete.1.2");
\r
115 AssertEquals ("test#03", false, Directory.Exists (path + "/DirectoryTest.Test.Delete.1.2"));
\r
116 AssertEquals ("test#04", true, Directory.Exists (path));
\r
118 Directory.Delete (path);
\r
119 AssertEquals ("test#05", false, Directory.Exists (path + "/DirectoryTest.Test.Delete.1.2"));
\r
120 AssertEquals ("test#06", false, Directory.Exists (path));
\r
122 Directory.CreateDirectory (path);
\r
123 Directory.CreateDirectory (path + "/DirectoryTest.Test.Delete.1.2");
\r
124 AssertEquals ("test#07", true, Directory.Exists (path + "/DirectoryTest.Test.Delete.1.2"));
\r
125 AssertEquals ("test#08", true, Directory.Exists (path));
\r
127 Directory.Delete (path, true);
\r
128 AssertEquals ("test#09", false, Directory.Exists (path + "/DirectoryTest.Test.Delete.1.2"));
\r
129 AssertEquals ("test#10", false, Directory.Exists (path));
\r
131 DeleteDirectory (path);
\r
136 [ExpectedException(typeof(ArgumentException))]
\r
137 public void DeleteArgumentException ()
\r
139 Directory.Delete ("");
\r
143 [ExpectedException(typeof(ArgumentException))]
\r
144 public void DeleteArgumentException2 ()
\r
146 Directory.Delete (" ");
\r
150 [ExpectedException(typeof(ArgumentException))]
\r
151 public void DeleteArgumentException3 ()
\r
153 string path = TempFolder + "/DirectoryTest.Test.4";
\r
154 DeleteDirectory (path);
\r
156 path += Path.InvalidPathChars [0];
\r
157 Directory.Delete (path);
\r
161 [ExpectedException(typeof(ArgumentNullException))]
\r
162 public void DeleteArgumentNullException ()
\r
164 Directory.Delete (null as string);
\r
168 [ExpectedException(typeof(DirectoryNotFoundException))]
\r
169 public void DeleteDirectoryNotFoundException ()
\r
171 string path = TempFolder + "/DirectoryTest.Test.5";
\r
172 DeleteDirectory (path);
\r
174 Directory.Delete (path);
\r
178 [ExpectedException(typeof(IOException))]
\r
179 public void DeleteArgumentException4 ()
\r
181 string path = TempFolder + "/DirectoryTest.Test.6";
\r
182 DeleteDirectory (path);
\r
183 FileStream s = null;
\r
184 Directory.CreateDirectory (path);
\r
186 s = File.Create (path + "/DirectoryTest.Test.6");
\r
187 Directory.Delete (path);
\r
191 DeleteDirectory (path);
\r
196 public void Exists ()
\r
198 AssertEquals ("test#01", false, Directory.Exists (null as string));
\r
202 [ExpectedException(typeof(ArgumentNullException))]
\r
203 public void GetCreationTimeException1 ()
\r
205 Directory.GetCreationTime (null as string);
\r
209 [ExpectedException(typeof(ArgumentException))]
\r
210 public void GetCreationTimeException2 ()
\r
212 Directory.GetCreationTime ("");
\r
216 [ExpectedException(typeof(IOException))]
\r
217 public void GetCreationTimeException3 ()
\r
219 string path = TempFolder + "/DirectoryTest.GetCreationTime.1";
\r
220 DeleteDirectory (path);
\r
222 Directory.GetCreationTime (path);
\r
224 DeleteDirectory (path);
\r
229 [ExpectedException(typeof(ArgumentException))]
\r
230 public void GetCreationTimeException4 ()
\r
232 Directory.GetCreationTime (" ");
\r
236 [ExpectedException(typeof(ArgumentException))]
\r
237 public void GetCreationTimeException5 ()
\r
239 Directory.GetCreationTime (Path.InvalidPathChars [0].ToString ());
\r
243 [ExpectedException(typeof(ArgumentNullException))]
\r
244 public void GetCreationTimeUtcException1 ()
\r
246 Directory.GetCreationTimeUtc (null as string);
\r
250 [ExpectedException(typeof(ArgumentException))]
\r
251 public void GetCreationTimeUtcException2 ()
\r
253 Directory.GetCreationTimeUtc ("");
\r
257 [ExpectedException(typeof(IOException))]
\r
258 public void GetCreationTimeUtcException3 ()
\r
260 string path = TempFolder + "/DirectoryTest.GetCreationTimeUtc.1";
\r
261 DeleteDirectory (path);
\r
264 Directory.GetCreationTimeUtc (path);
\r
266 DeleteDirectory (path);
\r
271 [ExpectedException(typeof(ArgumentException))]
\r
272 public void GetCreationTimeUtcException4 ()
\r
274 Directory.GetCreationTimeUtc (" ");
\r
278 [ExpectedException(typeof(ArgumentException))]
\r
279 public void GetCreationTimeUtcException5 ()
\r
281 Directory.GetCreationTime (Path.InvalidPathChars [0].ToString ());
\r
285 [ExpectedException(typeof(ArgumentNullException))]
\r
286 public void GetLastAccessTimeException1 ()
\r
288 Directory.GetLastAccessTime (null as string);
\r
292 [ExpectedException(typeof(ArgumentException))]
\r
293 public void GetLastAccessTimeException2 ()
\r
295 Directory.GetLastAccessTime ("");
\r
299 [ExpectedException(typeof(IOException))]
\r
300 public void GetLastAccessTimeException3 ()
\r
302 string path = TempFolder + "/DirectoryTest.GetLastAccessTime.1";
\r
303 DeleteDirectory (path);
\r
306 Directory.GetLastAccessTime (path);
\r
308 DeleteDirectory (path);
\r
313 [ExpectedException(typeof(ArgumentException))]
\r
314 public void GetLastAccessTimeException4 ()
\r
316 Directory.GetLastAccessTime (" ");
\r
320 [ExpectedException(typeof(ArgumentException))]
\r
321 public void GetLastAccessTimeException5 ()
\r
323 Directory.GetLastAccessTime (Path.InvalidPathChars [0].ToString ());
\r
327 [ExpectedException(typeof(ArgumentNullException))]
\r
328 public void GetLastAccessTimeUtcException1 ()
\r
330 Directory.GetLastAccessTimeUtc (null as string);
\r
334 [ExpectedException(typeof(ArgumentException))]
\r
335 public void GetLastAccessTimeUtcException2 ()
\r
337 Directory.GetLastAccessTimeUtc ("");
\r
341 [ExpectedException(typeof(IOException))]
\r
342 public void GetLastAccessTimeUtcException3 ()
\r
344 string path = TempFolder + "/DirectoryTest.GetLastAccessTimeUtc.1";
\r
345 DeleteDirectory (path);
\r
347 Directory.GetLastAccessTimeUtc (path);
\r
349 DeleteDirectory (path);
\r
354 [ExpectedException(typeof(ArgumentException))]
\r
355 public void GetLastAccessTimeUtcException4 ()
\r
357 Directory.GetLastAccessTimeUtc (" ");
\r
361 [ExpectedException(typeof(ArgumentException))]
\r
362 public void GetLastAccessTimeUtcException5 ()
\r
364 Directory.GetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString ());
\r
368 [ExpectedException(typeof(ArgumentNullException))]
\r
369 public void GetLastWriteTimeException1 ()
\r
371 Directory.GetLastWriteTime (null as string);
\r
375 [ExpectedException(typeof(ArgumentException))]
\r
376 public void GetLastWriteTimeException2 ()
\r
378 Directory.GetLastWriteTime ("");
\r
382 [ExpectedException(typeof(IOException))]
\r
383 public void GetLastWriteTimeException3 ()
\r
385 string path = TempFolder + "/DirectoryTest.GetLastWriteTime.1";
\r
386 DeleteDirectory (path);
\r
388 Directory.GetLastWriteTime (path);
\r
390 DeleteDirectory (path);
\r
395 [ExpectedException(typeof(ArgumentException))]
\r
396 public void GetLastWriteTimeException4 ()
\r
398 Directory.GetLastWriteTime (" ");
\r
402 [ExpectedException(typeof(ArgumentException))]
\r
403 public void GetLastWriteTimeException5 ()
\r
405 Directory.GetLastWriteTime (Path.InvalidPathChars [0].ToString ());
\r
409 [ExpectedException(typeof(ArgumentNullException))]
\r
410 public void GetLastWriteTimeUtcException1 ()
\r
412 Directory.GetLastWriteTimeUtc (null as string);
\r
416 [ExpectedException(typeof(ArgumentException))]
\r
417 public void GetLastWriteTimeUtcException2 ()
\r
419 Directory.GetLastAccessTimeUtc ("");
\r
423 [ExpectedException(typeof(IOException))]
\r
424 public void GetLastWriteTimeUtcException3 ()
\r
426 string path = TempFolder + "/DirectoryTest.GetLastWriteTimeUtc.1";
\r
427 DeleteDirectory (path);
\r
429 Directory.GetLastAccessTimeUtc (path);
\r
431 DeleteDirectory (path);
\r
437 [ExpectedException(typeof(ArgumentException))]
\r
438 public void GetLastWriteTimeUtcException4 ()
\r
440 Directory.GetLastAccessTimeUtc (" ");
\r
444 [ExpectedException(typeof(ArgumentException))]
\r
445 public void GetLastWriteTimeUtcException5 ()
\r
447 Directory.GetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString ());
\r
451 public void Move ()
\r
453 string path = TempFolder + "/DirectoryTest.Test.9";
\r
454 string path2 = TempFolder + "/DirectoryTest.Test.10";
\r
455 DeleteDirectory (path);
\r
456 DeleteDirectory (path2);
\r
458 Directory.CreateDirectory (path);
\r
459 Directory.CreateDirectory (path + "/" + "dir");
\r
460 AssertEquals ("test#01", true, Directory.Exists (path + "/" + "dir"));
\r
462 Directory.Move (path, path2);
\r
463 AssertEquals ("test#02", false, Directory.Exists (path + "/" + "dir"));
\r
464 AssertEquals ("test#03", true, Directory.Exists (path2 + "/" + "dir"));
\r
467 DeleteDirectory (path);
\r
468 DeleteDirectory (path2);
\r
469 if (Directory.Exists (path2 + "/" + "dir"))
\r
470 Directory.Delete (path2 + "/" + "dir", true);
\r
475 [ExpectedException(typeof(IOException))]
\r
476 public void MoveException1 ()
\r
478 string path = TempFolder + "/DirectoryTest.Test.8";
\r
479 DeleteDirectory (path);
\r
481 Directory.Move (path, path);
\r
483 DeleteDirectory (path);
\r
488 [ExpectedException(typeof(ArgumentException))]
\r
489 public void MoveException2 ()
\r
491 string path = TempFolder + "/DirectoryTest.Test.11";
\r
492 DeleteDirectory (path);
\r
494 Directory.Move ("", path);
\r
496 DeleteDirectory (path);
\r
501 [ExpectedException(typeof(ArgumentException))]
\r
502 public void MoveException3 ()
\r
504 string path = TempFolder + "/DirectoryTest.Test.12";
\r
505 DeleteDirectory (path);
\r
507 Directory.Move (" ", path);
\r
509 DeleteDirectory (path);
\r
514 [ExpectedException(typeof(ArgumentException))]
\r
515 public void MoveException4 ()
\r
517 string path = TempFolder + "/DirectoryTest.Test.13";
\r
518 path += Path.InvalidPathChars [0];
\r
519 string path2 = TempFolder + "/DirectoryTest.Test.13";
\r
520 DeleteDirectory (path);
\r
521 DeleteDirectory (path2);
\r
523 Directory.CreateDirectory (path2);
\r
524 Directory.Move (path2, path);
\r
526 DeleteDirectory (path);
\r
527 DeleteDirectory (path2);
\r
532 [ExpectedException(typeof(DirectoryNotFoundException))]
\r
533 public void MoveException5 ()
\r
535 string path = TempFolder + "/DirectoryTest.Test.14";
\r
536 DeleteDirectory (path);
\r
538 Directory.Move (path, path + "Test.Test");
\r
540 DeleteDirectory (path);
\r
541 DeleteDirectory (path + "Test.Test");
\r
546 [ExpectedException(typeof(IOException))]
\r
547 public void MoveException6 ()
\r
549 string path = TempFolder + "/DirectoryTest.Test.15";
\r
550 DeleteDirectory (path);
\r
552 Directory.CreateDirectory (path);
\r
553 Directory.Move (path, path + "/" + "dir");
\r
555 DeleteDirectory (path);
\r
556 DeleteDirectory (path + "/" + "dir");
\r
561 [ExpectedException(typeof(IOException))]
\r
562 public void MoveException7 ()
\r
564 string path = TempFolder + "/DirectoryTest.Test.16";
\r
565 string path2 = TempFolder + "/DirectoryTest.Test.17";
\r
567 DeleteDirectory (path);
\r
568 DeleteDirectory (path2);
\r
570 Directory.CreateDirectory (path);
\r
571 Directory.CreateDirectory (path2);
\r
572 Directory.Move (path, path2);
\r
574 DeleteDirectory (path);
\r
575 DeleteDirectory (path2);
\r
580 [Ignore("Unix doesnt support CreationTime")]
\r
581 public void CreationTime ()
\r
583 string path = TempFolder + "/DirectoryTest.CreationTime.1";
\r
584 DeleteDirectory (path);
\r
587 Directory.CreateDirectory (path);
\r
588 Directory.SetCreationTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
590 DateTime time = Directory.GetCreationTime (path);
\r
591 AssertEquals ("test#01", 2003, time.Year);
\r
592 AssertEquals ("test#02", 6, time.Month);
\r
593 AssertEquals ("test#03", 4, time.Day);
\r
594 AssertEquals ("test#04", 6, time.Hour);
\r
595 AssertEquals ("test#05", 4, time.Minute);
\r
596 AssertEquals ("test#06", 0, time.Second);
\r
598 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetCreationTimeUtc (path));
\r
599 AssertEquals ("test#07", 2003, time.Year);
\r
600 AssertEquals ("test#08", 6, time.Month);
\r
601 AssertEquals ("test#09", 4, time.Day);
\r
602 AssertEquals ("test#10", 6, time.Hour);
\r
603 AssertEquals ("test#11", 4, time.Minute);
\r
604 AssertEquals ("test#12", 0, time.Second);
\r
606 Directory.SetCreationTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
607 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetCreationTime (path));
\r
608 AssertEquals ("test#13", 2003, time.Year);
\r
609 AssertEquals ("test#14", 6, time.Month);
\r
610 AssertEquals ("test#15", 4, time.Day);
\r
611 AssertEquals ("test#16", 6, time.Hour);
\r
612 AssertEquals ("test#17", 4, time.Minute);
\r
613 AssertEquals ("test#18", 0, time.Second);
\r
615 time = Directory.GetCreationTimeUtc (path);
\r
616 AssertEquals ("test#19", 2003, time.Year);
\r
617 AssertEquals ("test#20", 6, time.Month);
\r
618 AssertEquals ("test#21", 4, time.Day);
\r
619 AssertEquals ("test#22", 6, time.Hour);
\r
620 AssertEquals ("test#23", 4, time.Minute);
\r
621 AssertEquals ("test#24", 0, time.Second);
\r
623 DeleteDirectory (path);
\r
628 public void LastAccessTime ()
\r
630 string path = TempFolder + "/DirectoryTest.AccessTime.1";
\r
631 DeleteDirectory (path);
\r
634 Directory.CreateDirectory (path);
\r
635 Directory.SetLastAccessTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
637 DateTime time = Directory.GetLastAccessTime (path);
\r
638 AssertEquals ("test#01", 2003, time.Year);
\r
639 AssertEquals ("test#02", 6, time.Month);
\r
640 AssertEquals ("test#03", 4, time.Day);
\r
641 AssertEquals ("test#04", 6, time.Hour);
\r
642 AssertEquals ("test#05", 4, time.Minute);
\r
643 AssertEquals ("test#06", 0, time.Second);
\r
645 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetLastAccessTimeUtc (path));
\r
646 AssertEquals ("test#07", 2003, time.Year);
\r
647 AssertEquals ("test#08", 6, time.Month);
\r
648 AssertEquals ("test#09", 4, time.Day);
\r
649 AssertEquals ("test#10", 6, time.Hour);
\r
650 AssertEquals ("test#11", 4, time.Minute);
\r
651 AssertEquals ("test#12", 0, time.Second);
\r
653 Directory.SetLastAccessTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
654 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetLastAccessTime (path));
\r
655 AssertEquals ("test#13", 2003, time.Year);
\r
656 AssertEquals ("test#14", 6, time.Month);
\r
657 AssertEquals ("test#15", 4, time.Day);
\r
658 AssertEquals ("test#16", 6, time.Hour);
\r
659 AssertEquals ("test#17", 4, time.Minute);
\r
660 AssertEquals ("test#18", 0, time.Second);
\r
662 time = Directory.GetLastAccessTimeUtc (path);
\r
663 AssertEquals ("test#19", 2003, time.Year);
\r
664 AssertEquals ("test#20", 6, time.Month);
\r
665 AssertEquals ("test#21", 4, time.Day);
\r
666 AssertEquals ("test#22", 6, time.Hour);
\r
667 AssertEquals ("test#23", 4, time.Minute);
\r
668 AssertEquals ("test#24", 0, time.Second);
\r
670 DeleteDirectory (path);
\r
675 public void LastWriteTime ()
\r
677 string path = TempFolder + "/DirectoryTest.WriteTime.1";
\r
678 DeleteDirectory (path);
\r
681 Directory.CreateDirectory (path);
\r
682 Directory.SetLastWriteTime (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
684 DateTime time = Directory.GetLastWriteTime (path);
\r
685 AssertEquals ("test#01", 2003, time.Year);
\r
686 AssertEquals ("test#02", 6, time.Month);
\r
687 AssertEquals ("test#03", 4, time.Day);
\r
688 AssertEquals ("test#04", 6, time.Hour);
\r
689 AssertEquals ("test#05", 4, time.Minute);
\r
690 AssertEquals ("test#06", 0, time.Second);
\r
692 time = TimeZone.CurrentTimeZone.ToLocalTime (Directory.GetLastWriteTimeUtc (path));
\r
693 AssertEquals ("test#07", 2003, time.Year);
\r
694 AssertEquals ("test#08", 6, time.Month);
\r
695 AssertEquals ("test#09", 4, time.Day);
\r
696 AssertEquals ("test#10", 6, time.Hour);
\r
697 AssertEquals ("test#11", 4, time.Minute);
\r
698 AssertEquals ("test#12", 0, time.Second);
\r
700 Directory.SetLastWriteTimeUtc (path, new DateTime (2003, 6, 4, 6, 4, 0));
\r
701 time = TimeZone.CurrentTimeZone.ToUniversalTime (Directory.GetLastWriteTime (path));
\r
702 AssertEquals ("test#13", 2003, time.Year);
\r
703 AssertEquals ("test#14", 6, time.Month);
\r
704 AssertEquals ("test#15", 4, time.Day);
\r
705 AssertEquals ("test#16", 6, time.Hour);
\r
706 AssertEquals ("test#17", 4, time.Minute);
\r
707 AssertEquals ("test#18", 0, time.Second);
\r
709 time = Directory.GetLastWriteTimeUtc (path);
\r
710 AssertEquals ("test#19", 2003, time.Year);
\r
711 AssertEquals ("test#20", 6, time.Month);
\r
712 AssertEquals ("test#21", 4, time.Day);
\r
713 AssertEquals ("test#22", 6, time.Hour);
\r
714 AssertEquals ("test#23", 4, time.Minute);
\r
715 AssertEquals ("test#24", 0, time.Second);
\r
717 DeleteDirectory (path);
\r
722 [ExpectedException(typeof(ArgumentNullException))]
\r
723 public void SetLastWriteTimeException1 ()
\r
725 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
726 Directory.SetLastWriteTime (null as string, time);
\r
730 [ExpectedException(typeof(ArgumentException))]
\r
731 public void SetLastWriteTimeException2 ()
\r
733 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
734 Directory.SetLastWriteTime ("", time);
\r
738 [ExpectedException(typeof(FileNotFoundException))]
\r
739 public void SetLastWriteTimeException3 ()
\r
741 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
742 string path = TempFolder + "/DirectoryTest.SetLastWriteTime.2";
\r
743 DeleteDirectory (path);
\r
745 Directory.SetLastWriteTime (path, time);
\r
747 DeleteDirectory (path);
\r
752 [ExpectedException(typeof(ArgumentException))]
\r
753 public void SetLastWriteTimeException4 ()
\r
755 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
756 Directory.SetLastWriteTime (" ", time);
\r
760 [ExpectedException(typeof(ArgumentException))]
\r
761 public void SetLastWriteTimeException5 ()
\r
763 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
764 Directory.SetLastWriteTime (Path.InvalidPathChars [0].ToString (), time);
\r
768 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
769 // public void SetLastWriteTimeException6 ()
\r
771 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
772 // string path = TempFolder + Path.DirectorySeparatorChar + "DirectoryTest.SetLastWriteTime.1";
\r
775 // if (!Directory.Exists (path))
\r
776 // Directory.CreateDirectory (path);
\r
778 // Directory.SetLastWriteTime (path, time);
\r
780 // DeleteDirectory (path);
\r
786 [ExpectedException(typeof(ArgumentNullException))]
\r
787 public void SetLastWriteTimeUtcException1 ()
\r
789 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
790 Directory.SetLastWriteTimeUtc (null as string, time);
\r
794 [ExpectedException(typeof(ArgumentException))]
\r
795 public void SetLastWriteTimeUtcException2 ()
\r
797 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
798 Directory.SetLastWriteTimeUtc ("", time);
\r
802 [ExpectedException(typeof(FileNotFoundException))]
\r
803 public void SetLastWriteTimeUtcException3 ()
\r
805 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
806 string path = TempFolder + "/DirectoryTest.SetLastWriteTimeUtc.2";
\r
807 DeleteDirectory (path);
\r
809 Directory.SetLastWriteTimeUtc (path, time);
\r
811 DeleteDirectory (path);
\r
816 [ExpectedException(typeof(ArgumentException))]
\r
817 public void SetLastWriteTimeUtcException4 ()
\r
819 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
820 Directory.SetLastWriteTimeUtc (" ", time);
\r
824 [ExpectedException(typeof(ArgumentException))]
\r
825 public void SetLastWriteTimeUtcException5 ()
\r
827 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
828 Directory.SetLastWriteTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
832 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
833 // public void SetLastWriteTimeUtcException6 ()
\r
835 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
836 // string path = TempFolder + "/DirectoryTest.SetLastWriteTimeUtc.1";
\r
838 // if (!Directory.Exists (path))
\r
839 // Directory.CreateDirectory (path);
\r
841 // Directory.SetLastWriteTimeUtc (path, time);
\r
843 // DeleteDirectory (path);
\r
848 [ExpectedException(typeof(ArgumentNullException))]
\r
849 public void SetLastAccessTimeException1 ()
\r
851 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
852 Directory.SetLastAccessTime (null as string, time);
\r
856 [ExpectedException(typeof(ArgumentException))]
\r
857 public void SetLastAccessTimeException2 ()
\r
859 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
860 Directory.SetLastAccessTime ("", time);
\r
864 [ExpectedException(typeof(FileNotFoundException))]
\r
865 public void SetLastAccessTimeException3 ()
\r
867 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
868 string path = TempFolder + "/DirectoryTest.SetLastAccessTime.2";
\r
869 DeleteDirectory (path);
\r
871 Directory.SetLastAccessTime (path, time);
\r
873 DeleteDirectory (path);
\r
878 [ExpectedException(typeof(ArgumentException))]
\r
879 public void SetLastAccessTimeException4 ()
\r
881 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
882 Directory.SetLastAccessTime (" ", time);
\r
886 [ExpectedException(typeof(ArgumentException))]
\r
887 public void SetLastAccessTimeException5 ()
\r
889 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
890 Directory.SetLastAccessTime (Path.InvalidPathChars [0].ToString (), time);
\r
894 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
895 // public void SetLastAccessTimeException6 ()
\r
897 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
898 // string path = TempFolder + "/DirectoryTest.SetLastAccessTime.1";
\r
900 // if (!Directory.Exists (path))
\r
901 // Directory.CreateDirectory (path);
\r
903 // Directory.SetLastAccessTime (path, time);
\r
905 // DeleteDirectory (path);
\r
911 [ExpectedException(typeof(ArgumentNullException))]
\r
912 public void SetLastAccessTimeUtcException1 ()
\r
914 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
915 Directory.SetLastAccessTimeUtc (null as string, time);
\r
919 [ExpectedException(typeof(ArgumentException))]
\r
920 public void SetLastAccessTimeUtcException2 ()
\r
922 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
923 Directory.SetLastAccessTimeUtc ("", time);
\r
927 [ExpectedException(typeof(FileNotFoundException))]
\r
928 public void SetLastAccessTimeUtcException3 ()
\r
930 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
931 string path = TempFolder + "/DirectoryTest.SetLastAccessTimeUtc.2";
\r
932 DeleteDirectory (path);
\r
934 Directory.SetLastAccessTimeUtc (path, time);
\r
936 DeleteDirectory (path);
\r
941 [ExpectedException(typeof(ArgumentException))]
\r
942 public void SetLastAccessTimeUtcException4 ()
\r
944 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
945 Directory.SetLastAccessTimeUtc (" ", time);
\r
949 [ExpectedException(typeof(ArgumentException))]
\r
950 public void SetLastAccessTimeUtcException5 ()
\r
952 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
953 Directory.SetLastAccessTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
957 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
958 // public void SetLastAccessTimeUtcException6 ()
\r
960 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
961 // string path = TempFolder + "/DirectoryTest.SetLastAccessTimeUtc.1";
\r
963 // if (!Directory.Exists (path))
\r
964 // Directory.CreateDirectory (path);
\r
966 // Directory.SetLastAccessTimeUtc (path, time);
\r
968 // DeleteDirectory (path);
\r
972 [ExpectedException(typeof(ArgumentNullException))]
\r
973 public void SetCreationTimeException1 ()
\r
975 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
976 Directory.SetCreationTime (null as string, time);
\r
980 [ExpectedException(typeof(ArgumentException))]
\r
981 public void SetCreationTimeException2 ()
\r
983 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
984 Directory.SetCreationTime ("", time);
\r
988 [ExpectedException(typeof(FileNotFoundException))]
\r
989 public void SetCreationTimeException3 ()
\r
991 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
992 string path = TempFolder + "/DirectoryTest.SetCreationTime.2";
\r
993 DeleteDirectory (path);
\r
996 Directory.SetCreationTime (path, time);
\r
998 DeleteDirectory (path);
\r
1003 [ExpectedException(typeof(ArgumentException))]
\r
1004 public void SetCreationTimeException4 ()
\r
1006 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1007 Directory.SetCreationTime (" ", time);
\r
1011 [ExpectedException(typeof(ArgumentException))]
\r
1012 public void SetCreationTimeException5 ()
\r
1014 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1015 Directory.SetCreationTime (Path.InvalidPathChars [0].ToString (), time);
\r
1019 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
1020 // public void SetCreationTimeException6 ()
\r
1022 // DateTime time = new DateTime (1003, 4, 6, 6, 4, 2);
\r
1023 // string path = TempFolder + "/DirectoryTest.SetCreationTime.1";
\r
1025 // if (!Directory.Exists (path))
\r
1026 // Directory.CreateDirectory (path);
\r
1028 // Directory.SetCreationTime (path, time);
\r
1029 // DeleteDirectory (path);
\r
1031 // DeleteDirectory (path);
\r
1037 [ExpectedException(typeof(ArgumentNullException))]
\r
1038 public void SetCreationTimeUtcException1 ()
\r
1040 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1041 Directory.SetCreationTimeUtc (null as string, time);
\r
1045 [ExpectedException(typeof(ArgumentException))]
\r
1046 public void SetCreationTimeUtcException2 ()
\r
1048 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1049 Directory.SetCreationTimeUtc ("", time);
\r
1053 [ExpectedException(typeof(FileNotFoundException))]
\r
1054 public void SetCreationTimeUtcException3 ()
\r
1056 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1057 string path = TempFolder + "/DirectoryTest.SetLastAccessTimeUtc.2";
\r
1058 DeleteDirectory (path);
\r
1061 Directory.SetCreationTimeUtc (path, time);
\r
1062 DeleteDirectory (path);
\r
1064 DeleteDirectory (path);
\r
1069 [ExpectedException(typeof(ArgumentException))]
\r
1070 public void SetCreationTimeUtcException4 ()
\r
1072 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1073 Directory.SetCreationTimeUtc (" ", time);
\r
1077 [ExpectedException(typeof(ArgumentException))]
\r
1078 public void SetCreationTimeUtcException5 ()
\r
1080 DateTime time = new DateTime (2003, 4, 6, 6, 4, 2);
\r
1081 Directory.SetCreationTimeUtc (Path.InvalidPathChars [0].ToString (), time);
\r
1085 // [ExpectedException(typeof(ArgumentOutOfRangeException))]
\r
1086 // public void SetCreationTimeUtcException6 ()
\r
1088 // DateTime time = new DateTime (1000, 4, 6, 6, 4, 2);
\r
1089 // string path = TempFolder + "/DirectoryTest.SetLastAccessTimeUtc.1";
\r
1091 // if (!Directory.Exists (path))
\r
1092 // Directory.CreateDirectory (path);
\r
1094 // Directory.SetCreationTimeUtc (path, time);
\r
1095 // DeleteDirectory (path);
\r
1097 // DeleteDirectory (path);
\r
1102 public void GetDirectories ()
\r
1104 string path = TempFolder;
\r
1105 string DirPath = TempFolder + Path.DirectorySeparatorChar + ".GetDirectories";
\r
1106 DeleteDirectory (DirPath);
\r
1109 Directory.CreateDirectory (DirPath);
\r
1111 string [] dirs = Directory.GetDirectories (path);
\r
1113 foreach (string directory in dirs) {
\r
1115 if (directory == DirPath)
\r
1119 Assert ("Directory Not Found", false);
\r
1121 DeleteDirectory (DirPath);
\r
1126 public void GetParentOfRootDirectory ()
\r
1128 DirectoryInfo info;
\r
1130 info = Directory.GetParent (Path.GetPathRoot (Path.GetTempPath ()));
\r
1131 AssertEquals (null, info);
\r
1135 public void GetFiles ()
\r
1137 string path = TempFolder;
\r
1138 string DirPath = TempFolder + Path.DirectorySeparatorChar + ".GetFiles";
\r
1139 if (File.Exists (DirPath))
\r
1140 File.Delete (DirPath);
\r
1143 File.Create (DirPath).Close ();
\r
1144 string [] files = Directory.GetFiles (TempFolder);
\r
1145 foreach (string directory in files) {
\r
1147 if (directory == DirPath)
\r
1151 Assert ("File Not Found", false);
\r
1153 if (File.Exists (DirPath))
\r
1154 File.Delete (DirPath);
\r
1160 [ExpectedException (typeof (ArgumentNullException))]
\r
1161 public void SetCurrentDirectoryNull ()
\r
1163 Directory.SetCurrentDirectory (null);
\r
1167 [ExpectedException (typeof (ArgumentException))]
\r
1168 public void SetCurrentDirectoryEmpty ()
\r
1170 Directory.SetCurrentDirectory (String.Empty);
\r
1174 [ExpectedException (typeof (ArgumentException))]
\r
1175 public void SetCurrentDirectoryWhitespace ()
\r
1177 Directory.SetCurrentDirectory (" ");
\r
1182 public void GetNoFiles () // Bug 58875. This throwed an exception on windows.
\r
1184 DirectoryInfo dir = new DirectoryInfo (".");
\r
1185 dir.GetFiles ("*.nonext");
\r
1188 private void DeleteDirectory (string path)
\r
1190 if (Directory.Exists (path))
\r
1191 Directory.Delete (path, true);
\r