示例#1
0
		public void DirectoriesAppearBeforeFiles ()
		{
			var file = new FileInfo{ Name = "1", FileType = FileType.Directory };
			var dir = new FileInfo{ Name = "1", FileType = FileType.Regular };

			// file, dir
			var result1 = new SortedFileEnumerator (new[]{ file, dir }.GetEnumerator (), true).ToArray ();
			// dir, file
			var result2 = new SortedFileEnumerator (new[]{ dir, file }.GetEnumerator (), true).ToArray ();

			CollectionAssert.AreEqual (new[]{ dir, file }, result1);
			CollectionAssert.AreEqual (new[]{ dir, file }, result2);
		}
示例#2
0
		public void FilesAppearSorted ()
		{
			var file1 = new FileInfo{ Name = "1", FileType = FileType.Regular };
			var file2 = new FileInfo{ Name = "2", FileType = FileType.Regular };

			// 1-2
			var result1 = new SortedFileEnumerator (new[]{ file1, file2 }.GetEnumerator (), true).ToArray ();
			// 2-1
			var result2 = new SortedFileEnumerator (new[]{ file2, file1 }.GetEnumerator (), true).ToArray ();

			CollectionAssert.AreEqual (new[]{ file1, file2 }, result1);
			CollectionAssert.AreEqual (new[]{ file1, file2 }, result2);
		}
示例#3
0
		public void DirectoriesAppearSorted ()
		{
			var dir1 = new FileInfo{ Name = "1", FileType = FileType.Directory };
			var dir2 = new FileInfo{ Name = "2", FileType = FileType.Directory };

			// 1-2
			var result1 = new SortedFileEnumerator (new[]{ dir1, dir2 }.GetEnumerator (), true).ToArray ();
			// 2-1
			var result2 = new SortedFileEnumerator (new[]{ dir2, dir1 }.GetEnumerator (), true).ToArray ();

			CollectionAssert.AreEqual (new[]{ dir1, dir2 }, result1);
			CollectionAssert.AreEqual (new[]{ dir1, dir2 }, result2);
		}
        public void DirectoriesAppearBeforeFiles()
        {
            var file = new FileInfo {
                Name = "1", FileType = FileType.Directory
            };
            var dir = new FileInfo {
                Name = "1", FileType = FileType.Regular
            };

            // file, dir
            var result1 = new SortedFileEnumerator(new[] { file, dir }.GetEnumerator(), true).ToArray();
            // dir, file
            var result2 = new SortedFileEnumerator(new[] { dir, file }.GetEnumerator(), true).ToArray();

            CollectionAssert.AreEqual(new[] { dir, file }, result1);
            CollectionAssert.AreEqual(new[] { dir, file }, result2);
        }
        public void DirectoriesAppearSorted()
        {
            var dir1 = new FileInfo {
                Name = "1", FileType = FileType.Directory
            };
            var dir2 = new FileInfo {
                Name = "2", FileType = FileType.Directory
            };

            // 1-2
            var result1 = new SortedFileEnumerator(new[] { dir1, dir2 }.GetEnumerator(), true).ToArray();
            // 2-1
            var result2 = new SortedFileEnumerator(new[] { dir2, dir1 }.GetEnumerator(), true).ToArray();

            CollectionAssert.AreEqual(new[] { dir1, dir2 }, result1);
            CollectionAssert.AreEqual(new[] { dir1, dir2 }, result2);
        }
        public void FilesAppearSorted()
        {
            var file1 = new FileInfo {
                Name = "1", FileType = FileType.Regular
            };
            var file2 = new FileInfo {
                Name = "2", FileType = FileType.Regular
            };

            // 1-2
            var result1 = new SortedFileEnumerator(new[] { file1, file2 }.GetEnumerator(), true).ToArray();
            // 2-1
            var result2 = new SortedFileEnumerator(new[] { file2, file1 }.GetEnumerator(), true).ToArray();

            CollectionAssert.AreEqual(new[] { file1, file2 }, result1);
            CollectionAssert.AreEqual(new[] { file1, file2 }, result2);
        }
        public void DirectoriesAppearSorted()
        {
            var dir1 = new Uri("file:///1");
            var dir2 = new Uri("file:///2");

            var fileSystem = GetFileSystemMock();

            AddDirectory(fileSystem, dir1);
            AddDirectory(fileSystem, dir2);

            // 1-2
            var result1 = new SortedFileEnumerator(new [] { dir1, dir2 }, fileSystem).ToArray();
            // 2-1
            var result2 = new SortedFileEnumerator(new [] { dir2, dir1 }, fileSystem).ToArray();

            CollectionAssert.AreEqual(new [] { dir1, dir2 }, result1);
            CollectionAssert.AreEqual(new [] { dir1, dir2 }, result2);
        }
        public void FilesAppearSorted()
        {
            var file1 = new Uri("file:///1");
            var file2 = new Uri("file:///2");

            var fileSystem = GetFileSystemMock();

            AddFile(fileSystem, file1);
            AddFile(fileSystem, file2);

            // 1-2
            var result1 = new SortedFileEnumerator(new [] { file1, file2 }, fileSystem).ToArray();
            // 2-1
            var result2 = new SortedFileEnumerator(new [] { file2, file1 }, fileSystem).ToArray();

            CollectionAssert.AreEqual(new [] { file1, file2 }, result1);
            CollectionAssert.AreEqual(new [] { file1, file2 }, result2);
        }
        public void DirectoriesAppearBeforeFiles()
        {
            var file = new Uri("file:///1");
            var dir  = new Uri("file:///2");

            var fileSystem = GetFileSystemMock();

            AddFile(fileSystem, file);
            AddDirectory(fileSystem, dir);

            // file, dir
            var result1 = new SortedFileEnumerator(new [] { file, dir }, fileSystem).ToArray();
            // dir, file
            var result2 = new SortedFileEnumerator(new [] { dir, file }, fileSystem).ToArray();

            CollectionAssert.AreEqual(new [] { dir, file }, result1);
            CollectionAssert.AreEqual(new [] { dir, file }, result2);
        }
        public void FilesAreSkippedOnExceptions()
        {
            var file1 = new FileInfo {
                Name = "1", FileType = FileType.Regular
            };
            var file3 = new FileInfo {
                Name = "3", FileType = FileType.Regular
            };

            var list = new Mock <IEnumerator> ();

            list.Setup(l => l.MoveNext()).ReturnsInOrder(true, new GException(IntPtr.Zero), true, false);
            list.Setup(l => l.Current).ReturnsInOrder(file1, file3);

            // file, dir
            var result = new SortedFileEnumerator(list.Object, true).ToArray();

            CollectionAssert.AreEqual(new[] { file1, file3 }, result);
        }
示例#11
0
		public void FilesAreSkippedOnExceptions ()
		{
			var file1 = new FileInfo{ Name = "1", FileType = FileType.Regular };
			var file3 = new FileInfo{ Name = "3", FileType = FileType.Regular };

			var list = new Mock<IEnumerator> ();
			list.Setup (l => l.MoveNext ()).ReturnsInOrder (true, new GException (IntPtr.Zero), true, false);
			list.Setup (l => l.Current).ReturnsInOrder (file1, file3);

			// file, dir
			var result = new SortedFileEnumerator (list.Object, true).ToArray ();

			CollectionAssert.AreEqual (new[]{ file1, file3 }, result);
		}