コード例 #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);
                }
            }
        }
コード例 #2
0
        public void GenerateShouldCreateFile()
        {
            // arrange
            const string FileName = "TestFile1.txt";
            var          options  = new XFileGenerationOptions {
                FileName = FileName, Strings = Strings, MinNumber = MinNumber, MaxNumber = MaxNumber, FileSize = FileSize
            };
            var file = new XFile();

            // act
            file.Generate(options);

            // assert
            Assert.IsTrue(File.Exists(FileName));
        }
コード例 #3
0
        static void GenerateFile()
        {
            Console.WriteLine("--------------File generation tool----------------");

            long size = 0;

            do
            {
                Console.WriteLine();
                Console.Write("Please provide a size of the target file in bytes: ");
                var line = Console.ReadLine();
                if (!long.TryParse(line, out size))
                {
                    Console.WriteLine("Unsuitable size: {0}", line);
                }
            } while (size <= 0);

            var file = String.Empty;

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

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

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

            var watch = Stopwatch.StartNew();

            xFile.Generate(options);
            watch.Stop();

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

            Console.ReadKey();
        }
コード例 #4
0
        public void GenerateShouldCreateFileOfSpecifiedSize()
        {
            // arrange
            const string FileName = "TestFile2.txt";
            var          options  = new XFileGenerationOptions {
                FileName = FileName, Strings = Strings, MinNumber = MinNumber, MaxNumber = MaxNumber, FileSize = FileSize
            };
            var xFile = new XFile();

            // act
            xFile.Generate(options);

            // assert
            var file = File.Open(FileName, FileMode.Open, FileAccess.Read);

            Assert.IsTrue(file.Length >= FileSize - 50 && file.Length <= FileSize + 50);
        }
コード例 #5
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));
        }
コード例 #6
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;
                }
            }
        }