示例#1
0
 private FileModifier FileModifierWithDefaultMocks(
     ILogger <FileModifier> logger      = null,
     IFileOperationsAbstraction fileOps = null)
 {
     return(new FileModifier(
                logger: logger ?? Substitute.For <ILogger <FileModifier> >(),
                fileOps: fileOps ?? Substitute.For <IFileOperationsAbstraction>()));
 }
示例#2
0
 private XmlDuplicateReader XmlDuplicateReaderWithDefaultMocks(
     IDuplicateHandlerConfiguration config = null,
     IFileOperationsAbstraction fileOps    = null)
 {
     return(new XmlDuplicateReader(
                config: config ?? Substitute.For <IDuplicateHandlerConfiguration>(),
                fileOps: fileOps ?? Substitute.For <IFileOperationsAbstraction>()));
 }
示例#3
0
 public DuplicateHandlerApp(
     IDuplicateHandlerConfiguration config,
     IDuplicateProcessor duplicateProcessor,
     IFileOperationsAbstraction fileOps)
 {
     _config             = config;
     _duplicateProcessor = duplicateProcessor;
     _fileOps            = fileOps;
 }
示例#4
0
        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());
        }
示例#5
0
        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());
        }
示例#6
0
        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);
        }
示例#7
0
        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;
 }
示例#9
0
 public FileModifier(ILogger <FileModifier> logger, IFileOperationsAbstraction fileOps)
 {
     _logger  = logger;
     _fileOps = fileOps;
 }