public void Should_Merge_Two_Files_With_StringData()
        {
            //Arrange
            var fakeFileManager = A.Fake <IFileManager>();
            var compareUtil     = new CompareUtil();

            var ms = new MemoryStream();
            var sw = new StreamWriter(ms);
            int i  = 0;

            A.CallTo(() => fakeFileManager.Read(@"SomeFile1.txt")).Returns(GenerateStreamFromString(" aa | ac | ae |"));
            A.CallTo(() => fakeFileManager.Read(@"SomeFile2.txt")).Returns(GenerateStreamFromString(" ab | ad | af |"));
            A.CallTo(() => fakeFileManager.DiscoverTypeOfData("SomeFile1.txt", "SomeFile2.txt")).Returns(typeof(string));
            A.CallTo(() => fakeFileManager.CreateFile(A <string> .Ignored)).Returns(sw);

            //Act
            var fileMergeUtil = new SortedFilesMergeUtil(fakeFileManager, compareUtil);

            fileMergeUtil.MergeAsync(@"SomeFile1.txt", "SomeFile2.txt");

            //Assert
            sw.Flush();
            ms.Position = 0;
            var sr = new StreamReader(ms);

            sr.ReadToEnd().Replace(Environment.NewLine, "|").Should().Be(@"aa|ab|ac|ad|ae|af|");
        }
Beispiel #2
0
        public async System.Threading.Tasks.Task Should_Merge_Two_Valid_IntegerFilesAsync()
        {
            //Arrange
            var localFileManager   = new LocalFileManager();
            var expectedMergedFile = Path.Combine(Path.GetTempPath(), "Merged_File.txt");

            //cleanup.
            if (File.Exists(expectedMergedFile))
            {
                File.Delete(expectedMergedFile);
            }

            //Act
            using (var sortedFilesMergeUtil = new SortedFilesMergeUtil(localFileManager, new CompareUtil())) {
                await sortedFilesMergeUtil.MergeAsync(@"Data/IntegerDataFile1.txt", @"Data/IntegerDataFile2.txt");
            }

            //Assert
            File.Exists(expectedMergedFile).Should().BeTrue();
        }