Exemple #1
0
        public Task <bool> Confirm(SortScenarioSettings settings)
        {
            Console.Clear();
            xConsole.WriteHeader($"Sotring file\n");
            Console.WriteLine($"Target file path  : {settings.TargetFilePath}");
            Console.WriteLine($"Output file path  : {settings.OutputFilePath}");
            Console.WriteLine($"Block size        : {settings.BlockSize:#,###,###} Bytes");

            var choice = xConsole.Ask("Proceed? (y/n) ");

            return(Task.FromResult(choice));
        }
Exemple #2
0
        private TimeSpan SortFile(SortScenarioSettings settings)
        {
            var watch = new Stopwatch();

            watch.Start();

            _sorter.Sort(
                settings.TargetFilePath,
                settings.OutputFilePath,
                settings.BufferSize,
                settings.BlockSize
                );

            watch.Stop();

            return(watch.Elapsed);
        }
Exemple #3
0
        public Task <SortScenarioSettings> GetSettings()
        {
            var settings = new SortScenarioSettings();

            xConsole.WriteQuestion("Enter target file path: ");
            settings.TargetFilePath = xConsole.ReadString();

            var defaultOutputPath = $"{settings.TargetFilePath}.sorted";

            xConsole.WriteQuestion($"Enter output file path (default: {defaultOutputPath}): ");
            settings.OutputFilePath = xConsole.ReadString(defaultOutputPath);

            var defaultBufferSize = Config.GetApplicationSetting <int>("DefaultBufferSize");

            settings.BufferSize = defaultBufferSize;

            var defaultBlockSize = Config.GetApplicationSetting <int>("DefaultBlockSize");

            xConsole.WriteQuestion($"Enter block size (default: {defaultBlockSize:#,###,###} Bytes): ");
            settings.BlockSize = xConsole.ReadInt(defaultBlockSize);

            return(Task.FromResult(settings));
        }