public void Should_ReturnFiles_When_ValidPath()
        {
            Mock <IDirectoryFile> mockDirectoryFile = new Mock <IDirectoryFile>();

            mockDirectoryFile
            .Setup(o => o.GetCurrentDirectory())
            .Returns("Directory");
            mockDirectoryFile
            .Setup(o => o.DirectoryExists(It.IsAny <string>()))
            .Returns(true);
            mockDirectoryFile
            .Setup(o => o.GetFiles(It.IsAny <string>()))
            .Returns(new string[2] {
                "File1", "File2"
            });

            ReadFromFile readFromFile = new ReadFromFile(mockDirectoryFile.Object);

            var fileNames = readFromFile.GetFiles("Teste");

            Assert.True(fileNames.Length == 2);

            mockDirectoryFile.Verify(o => o.GetCurrentDirectory(), Times.Once);
            mockDirectoryFile.Verify(o => o.DirectoryExists(It.IsAny <string>()), Times.Once);
            mockDirectoryFile.Verify(o => o.GetFiles(It.IsAny <string>()), Times.Once);
        }
        public void Should_ReturnNull_When_DirectoryDoesNotExist()
        {
            Mock <IDirectoryFile> mockDirectoryFile = new Mock <IDirectoryFile>();

            mockDirectoryFile
            .Setup(o => o.GetCurrentDirectory())
            .Returns("DirectoryTeste");
            mockDirectoryFile
            .Setup(o => o.DirectoryExists(It.IsAny <string>()))
            .Returns(false);

            ReadFromFile readFromFile = new ReadFromFile(mockDirectoryFile.Object);
            var          files        = readFromFile.GetFiles("folder");

            Assert.Null(files);
            mockDirectoryFile.Verify(o => o.GetCurrentDirectory(), Times.Once);
            mockDirectoryFile.Verify(o => o.DirectoryExists(It.IsAny <string>()), Times.Once);
        }
Exemple #3
0
        public async Task Run(CancellationToken cancellationToken = default)
        {
            await Task.Run(() =>
            {
                while (!cancellationToken.IsCancellationRequested)
                {
                    string[] fileNames = _readFromFile.GetFiles(FileIn.FolderIn);
                    if (fileNames == null || fileNames.Length == 0)
                    {
                        Task.Delay(800).Wait();
                    }
                    else
                    {
                        foreach (var name in fileNames)
                        {
                            Process(name);
                        }
                    }
                }

                _logger.LogWarning("Finalizado processamento do arquivo de entrada.");
            }, cancellationToken);
        }