예제 #1
0
        public void Enumerable_ShouldBe_FileNamesFrom_Directory()
        {
            // Arrange
            const string folderPath = nameof(Enumerable_ShouldBe_FileNamesFrom_Directory);
            var          fileNames  = new[] { "Log 1.txt", "Log 2.txt", "Log 3.txt" };

            PrepareFiles(folderPath, fileNames);
            var fileSource = new LogFileSource(folderPath, 5);
            // Act
            var result = fileSource.Select(Path.GetFileName).ToList();

            // Assert
            result.Should().Contain(fileNames);
        }
예제 #2
0
        public void Enumerable_ShouldTake_OnlyCountOfFiles()
        {
            // Arrange
            const string folderPath = nameof(Enumerable_ShouldTake_OnlyCountOfFiles);
            var          fileNames  = new[] { "Log 1.txt", "Log 2.txt", "Log 3.txt" };

            PrepareFiles(folderPath, fileNames);
            var fileSource = new LogFileSource(folderPath, 2);
            // Act
            var result = fileSource.ToList();

            // Assert
            result.Should().HaveCount(2);
        }
예제 #3
0
        public void Enumerable_ShouldTake_OnlyUnderSizeLimit()
        {
            // Arrange
            const string folderPath = nameof(Enumerable_ShouldTake_OnlyUnderSizeLimit);
            var          fileNames  = new[] { "Log 1.txt", "Log 2.txt", "tooBigFile.txt", "Log 3.txt" };

            PrepareFiles(folderPath, fileNames);
            File.WriteAllBytes(Path.Combine(folderPath, "tooBigFile.txt"), new byte[MaxFileSize + 1]);
            var fileSource = new LogFileSource(MaxFileSize, folderPath, 4);

            // Act
            var result = fileSource.Select(Path.GetFileName).ToList();

            // Assert
            result.Contains("tooBigFile.txt").Should().BeFalse();
        }
예제 #4
0
        public void Enumerable_ShouldBe_OrderedBy_LastWriteTime()
        {
            // Arrange
            const string folderPath = nameof(Enumerable_ShouldBe_OrderedBy_LastWriteTime);
            var          fileNames  = new[] { "Log 1.txt", "Log 2.txt", "Log 3.txt" };

            PrepareFiles(folderPath, fileNames);
            File.SetLastWriteTimeUtc(Path.Combine(folderPath, "Log 1.txt"), new DateTime(2020, 05, 15, 0, 3, 3));
            File.SetLastWriteTimeUtc(Path.Combine(folderPath, "Log 2.txt"), new DateTime(2020, 05, 15, 0, 1, 1));
            File.SetLastWriteTimeUtc(Path.Combine(folderPath, "Log 3.txt"), new DateTime(2020, 05, 15, 0, 2, 2));
            var fileSource = new LogFileSource(folderPath, 3);
            // Act
            var result = fileSource.Select(Path.GetFileName).ToList();

            // Assert
            result.Should().ContainInOrder("Log 1.txt", "Log 3.txt", "Log 2.txt");
        }