Esempio n. 1
0
        public void SortShouldCreateDestinationFileOfTheSameSize()
        {
            // arrange
            const string FileName        = "TestFile4.txt";
            const string DestinationFile = "SortedFile4.txt";

            var options = new XFileGenerationOptions {
                FileName = FileName, Strings = Strings, MinNumber = MinNumber, MaxNumber = MaxNumber, FileSize = FileSize
            };
            var xFile = new XFile();

            xFile.Generate(options);

            // act
            xFile.Sort(FileName, DestinationFile);

            // assert
            using (var sourceFile = File.Open(FileName, FileMode.Open))
            {
                using (var destinationFile = File.Open(DestinationFile, FileMode.Open))
                {
                    Assert.AreEqual(sourceFile.Length, destinationFile.Length);
                }
            }
        }
Esempio n. 2
0
        static void SortFile()
        {
            Console.WriteLine("--------------File sorting tool----------------");

            var source = String.Empty;

            do
            {
                Console.WriteLine();
                Console.Write("Please provide a name of the source file: ");
                source = Console.ReadLine();
                if (!File.Exists(source))
                {
                    Console.WriteLine("File '{0}' doesn't exist.", source);
                    source = string.Empty;
                }
            } while (string.IsNullOrWhiteSpace(source));

            var destination = String.Empty;

            do
            {
                Console.WriteLine();
                Console.Write("Please provide a name of the target file: ");
                destination = Console.ReadLine();
                if (string.IsNullOrWhiteSpace(destination))
                {
                    Console.WriteLine("File cannot be empty.");
                    continue;
                }
            } while (string.IsNullOrWhiteSpace(destination));

            Console.WriteLine();
            Console.WriteLine("File is being sorted...");

            var watch = Stopwatch.StartNew();

            var xFile = new XFile();

            xFile.Sort(source, destination);

            watch.Stop();

            Console.WriteLine();
            Console.WriteLine("Done! Execution time: {0}", watch.Elapsed);

            Console.ReadKey();
        }
Esempio n. 3
0
        public void SortShouldCreateDestinationFile()
        {
            // arrange
            const string FileName        = "TestFile3.txt";
            const string DestinationFile = "SortedFile3.txt";

            var options = new XFileGenerationOptions {
                FileName = FileName, Strings = Strings, MinNumber = MinNumber, MaxNumber = MaxNumber, FileSize = FileSize
            };
            var xFile = new XFile();

            xFile.Generate(options);

            // act
            xFile.Sort(FileName, DestinationFile);

            // assert
            Assert.IsTrue(File.Exists(DestinationFile));
        }
Esempio n. 4
0
        public void SortShouldCreateSortedFile()
        {
            // arrange
            const string FileName        = "TestFile4.txt";
            const string DestinationFile = "SortedFile4.txt";

            var options = new XFileGenerationOptions {
                FileName = FileName, Strings = Strings, MinNumber = MinNumber, MaxNumber = MaxNumber, FileSize = FileSize
            };
            var xFile = new XFile();

            xFile.Generate(options);

            // act
            xFile.Sort(FileName, DestinationFile);

            // assert
            using (var destinationFile = File.OpenText(DestinationFile))
            {
                var  str  = String.Empty;
                XRow cur  = null;
                XRow prev = null;

                while ((str = destinationFile.ReadLine()) != null)
                {
                    cur = new XRow(str);

                    if (prev != null)
                    {
                        Assert.IsTrue(prev.CompareTo(cur) <= 0);
                    }

                    prev = cur;
                }
            }
        }