public void Testv2() { DirectoryInfo root = new DirectoryInfo(BaseDirectory); FileList files = new FileList(); files.AddRange(root.GetFiles("*", SearchOption.AllDirectories)); Assert.AreEqual(7, files.Count); FileList txtFiles = new FileList(root.GetFiles("*.txt", SearchOption.AllDirectories)); Assert.AreEqual(3, txtFiles.Count); Assert.IsTrue(files.Contains(txtFiles[0])); Assert.IsTrue(files.Contains(txtFiles[1])); Assert.IsTrue(files.Contains(txtFiles[2])); files.Remove(txtFiles.ToArray()); Assert.AreEqual(4, files.Count); Assert.IsFalse(files.Contains(txtFiles[0])); Assert.IsFalse(files.Contains(txtFiles[1])); string[] names = files.GetFileNames(); Assert.AreEqual(4, names.Length); foreach(string fpath in names) Assert.IsTrue(files.Contains(new FileInfo(fpath))); }