public void GetEnumeratorGetsCorrectFilesInGroup() { // Arrange IFileSystem fs = this.ArrangeFileSystemForCsvData( new CsvDuplicateRecord() { Group = 1, FileName = "file1", Checked = 0 }, new CsvDuplicateRecord() { Group = 1, FileName = "file2", Checked = 0 }); // Act CsvDuplicateReader uut = new CsvDuplicateReader( config: Substitute.For <IDuplicateHandlerConfiguration>(), fileSystem: fs); // Assert DuplicateGroup group = Assert.Single(uut); Assert.Equal(2, group.Files.Count()); GroupFile file1 = Assert.Single(group.Files, f => f.FullName == "file1"); GroupFile file2 = Assert.Single(group.Files, f => f.FullName == "file2"); }
public void CanHandleReturnsTrueForCorrectFileExtensionsOnly(string fileExtension, bool shouldHandle) { // Arrange FileInfoBase fileInfo = Substitute.For <FileInfoBase>(); fileInfo.Extension.Returns(fileExtension); CsvDuplicateReader uut = new CsvDuplicateReader( config: Substitute.For <IDuplicateHandlerConfiguration>(), fileSystem: Substitute.For <IFileSystem>()); // Act bool canHandle = uut.CanHandle(fileInfo); // Assert Assert.Equal(shouldHandle, canHandle); }
public void CheckedValueResolvesToCorrectBoolean(int checkedValue, bool isChecked) { // Arrange IFileSystem fs = this.ArrangeFileSystemForCsvData( new CsvDuplicateRecord() { Group = 1, FileName = "file1", Checked = checkedValue }); // Act CsvDuplicateReader uut = new CsvDuplicateReader( config: Substitute.For <IDuplicateHandlerConfiguration>(), fileSystem: fs); // Assert DuplicateGroup group = Assert.Single(uut); GroupFile file = Assert.Single(group.Files); Assert.Equal(isChecked, file.Checked); }
public void CallingFilesPropertyAlwaysReturnsSameInstance() { // Arrange IFileSystem fs = this.ArrangeFileSystemForCsvData( new CsvDuplicateRecord() { Group = 1, FileName = "file1", Checked = 0 }); CsvDuplicateReader uut = new CsvDuplicateReader( config: Substitute.For <IDuplicateHandlerConfiguration>(), fileSystem: fs); // Act DuplicateGroup group = uut.Single(); IEnumerable <GroupFile> intersection = group.Files.Intersect(group.Files); IEnumerable <GroupFile> except = group.Files.Except(group.Files); // Assert Assert.Single(intersection); Assert.Empty(except); }
public void GetEnumeratorGetsCorrectNumberOfGroups() { // Arrange IFileSystem fs = this.ArrangeFileSystemForCsvData( new CsvDuplicateRecord() { Group = 1, FileName = "", Checked = 0 }, new CsvDuplicateRecord() { Group = 2, FileName = "", Checked = 0 }, new CsvDuplicateRecord() { Group = 2, FileName = "", Checked = 0 }, new CsvDuplicateRecord() { Group = 3, FileName = "", Checked = 0 }, new CsvDuplicateRecord() { Group = 3, FileName = "", Checked = 0 }, new CsvDuplicateRecord() { Group = 3, FileName = "", Checked = 0 }); CsvDuplicateReader uut = new CsvDuplicateReader( config: Substitute.For <IDuplicateHandlerConfiguration>(), fileSystem: fs); // Act & Assert Assert.Equal(3, uut.Count()); }