Esempio n. 1
0
        public void WhenInputFilesAreStrings()
        {
            var file1         = @"InputFile_1.data";
            var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            var binDirectory  = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory).Parent.Parent.FullName;

            var inputFile1 = Path.Combine(binDirectory, file1);

            var file2      = @"InputFile_2.data";
            var inputFile2 = Path.Combine(binDirectory, file2);

            var file3      = @"Output.data";
            var outputFile = Path.Combine(binDirectory, file3);

            using (var file = new StreamWriter(inputFile1))
            {
                file.WriteLine("A");
                file.WriteLine("C");
                file.WriteLine("E");
                file.WriteLine("G");
                file.WriteLine("I");
                file.WriteLine("K");
            }

            using (var file = new StreamWriter(inputFile2))
            {
                file.WriteLine("B");
                file.WriteLine("D");
                file.WriteLine("F");
                file.WriteLine("H");
                file.WriteLine("J");
                file.WriteLine("L");
                file.WriteLine("M");
                file.WriteLine("N");
            }

            var fileProcessor = new FileMergeProcessor(inputFile1, inputFile2, outputFile);

            fileProcessor.Process();

            using (var streamReader = new StreamReader(outputFile))
            {
                var  iterator = streamReader.ToIterator();
                byte i        = 65;
                while (iterator.MoveNext())
                {
                    Assert.True(Encoding.ASCII.GetString(new byte[] { i++ }) == iterator.Current);
                }
            }
        }