private FileModifier FileModifierWithDefaultMocks( ILogger <FileModifier> logger = null, IFileOperationsAbstraction fileOps = null) { return(new FileModifier( logger: logger ?? Substitute.For <ILogger <FileModifier> >(), fileOps: fileOps ?? Substitute.For <IFileOperationsAbstraction>())); }
private XmlDuplicateReader XmlDuplicateReaderWithDefaultMocks( IDuplicateHandlerConfiguration config = null, IFileOperationsAbstraction fileOps = null) { return(new XmlDuplicateReader( config: config ?? Substitute.For <IDuplicateHandlerConfiguration>(), fileOps: fileOps ?? Substitute.For <IFileOperationsAbstraction>())); }
public DuplicateHandlerApp( IDuplicateHandlerConfiguration config, IDuplicateProcessor duplicateProcessor, IFileOperationsAbstraction fileOps) { _config = config; _duplicateProcessor = duplicateProcessor; _fileOps = fileOps; }
public void GetEnumeratorGetsCorrectNumberOfGroups() { // Arrange XDocument xdoc = new XDocument( new XElement("root", this.ArrangeGroup(), this.ArrangeGroup(), this.ArrangeGroup())); IFileOperationsAbstraction fileOps = Substitute.For <IFileOperationsAbstraction>(); fileOps.LoadXml(Arg.Any <string>()).Returns(xdoc); XmlDuplicateReader uut = this.XmlDuplicateReaderWithDefaultMocks( fileOps: fileOps); // Act & Assert Assert.Equal(3, uut.Count()); }
public void MoveLogsFailedMove() { // Arrange GroupFile file = new GroupFile(); ILogger <FileModifier> logger = Substitute.For <ILogger <FileModifier> >(); IFileOperationsAbstraction ops = Substitute.For <IFileOperationsAbstraction>(); ops.When((x) => x.MoveFile(Arg.Any <string>(), Arg.Any <string>())) .Do((callInfo) => throw new Exception()); FileModifier uut = this.FileModifierWithDefaultMocks( logger: logger, fileOps: ops); // Act uut.Move(file, "destination"); // Assert ICall loggerCall = Assert.Single(logger.ReceivedCalls()); Assert.Equal("Log", loggerCall.GetMethodInfo().Name); Assert.Equal(LogLevel.Error, loggerCall.GetOriginalArguments().First()); }
public void GetEnumeratorGetsCorrectFilesInGroup() { // Arrange XDocument xdoc = new XDocument( new XElement("root", this.ArrangeGroup( this.ArrangeFile(true, "file1"), this.ArrangeFile(false, "file2")))); IFileOperationsAbstraction fileOps = Substitute.For <IFileOperationsAbstraction>(); fileOps.LoadXml(Arg.Any <string>()).Returns(xdoc); XmlDuplicateReader uut = this.XmlDuplicateReaderWithDefaultMocks( fileOps: fileOps); // Act & Assert DuplicateGroup group = Assert.Single(uut); Assert.Equal(2, group.Files.Count()); GroupFile file1 = Assert.Single(group.Files, f => f.FullName == "file1" && f.Checked == true); GroupFile file2 = Assert.Single(group.Files, f => f.FullName == "file2" && f.Checked == false); }
public void CallingFilesPropertyAlwaysReturnsSameInstance() { // Arrange XDocument xdoc = new XDocument( new XElement("root", this.ArrangeGroup( this.ArrangeFile(false, "file1")))); IFileOperationsAbstraction fileOps = Substitute.For <IFileOperationsAbstraction>(); fileOps.LoadXml(Arg.Any <string>()).Returns(xdoc); XmlDuplicateReader uut = this.XmlDuplicateReaderWithDefaultMocks( fileOps: fileOps); // 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 XmlDuplicateReader(IDuplicateHandlerConfiguration config, IFileOperationsAbstraction fileOps) { _fileOps = fileOps; _config = config; }
public FileModifier(ILogger <FileModifier> logger, IFileOperationsAbstraction fileOps) { _logger = logger; _fileOps = fileOps; }