Beispiel #1
0
        public Task <bool> Confirm(GenerateFileScenarioSettings settings)
        {
            Console.Clear();
            xConsole.WriteHeader($"Generating file:\n");
            Console.WriteLine($"File path            : {settings.FilePath}");
            Console.WriteLine($"File size            : {settings.FileSize.ToString("#,###,##0")} Bytes");
            Console.WriteLine($"Percent of appearance: {settings.PercentOfAppearance:##0}%");

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

            return(Task.FromResult(choice));
        }
Beispiel #2
0
        private TimeSpan GenerateFile(GenerateFileScenarioSettings settings)
        {
            var watch = new Stopwatch();

            watch.Start();

            _generator.Generate(
                settings.FilePath,
                settings.FileSize,
                settings.BufferSize,
                settings.PercentOfAppearance
                );

            watch.Stop();

            return(watch.Elapsed);
        }
Beispiel #3
0
        private Task <GenerateFileScenarioSettings> GetUniqueLineSettings()
        {
            var settings = new GenerateFileScenarioSettings();

            Console.Clear();

            xConsole.WriteHeader("Enter parameters to generate \"Number. String\" File:");
            Console.WriteLine();

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

            xConsole.WriteQuestion("Enter file size in bytes: ");
            settings.FileSize = xConsole.ReadLong();

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

            settings.BufferSize = defaultBufferSize;

            settings.PercentOfAppearance = 0;

            return(Task.FromResult(settings));
        }
Beispiel #4
0
        private Task <GenerateFileScenarioSettings> GetCustomSettings()
        {
            var settings = new GenerateFileScenarioSettings();

            Console.Clear();

            xConsole.WriteHeader("Enter parameters to generate \"Number. String\" File:");
            Console.WriteLine();

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

            xConsole.WriteQuestion("Enter file size in bytes: ");
            settings.FileSize = xConsole.ReadLong();

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

            settings.BufferSize = defaultBufferSize;

            var defaultPercentOfAppearance = Config.GetApplicationSetting <int>("DefaultPercentOfAppearance");

            xConsole.WriteQuestion($"Percent of appearance (default: {defaultPercentOfAppearance:##0}%): ");
            settings.PercentOfAppearance = xConsole.ReadInt(defaultPercentOfAppearance);

            settings.PercentOfAppearance =
                settings.PercentOfAppearance >= 0 && settings.PercentOfAppearance <= 100
        ? settings.PercentOfAppearance
        : defaultPercentOfAppearance;

            if (settings.PercentOfAppearance <= 0)
            {
                settings.PercentOfAppearance = 1;
            }

            return(Task.FromResult(settings));
        }