コード例 #1
0
 public AutoValueGenerator(IIsEnumerableChecker isEnumerableChecker, IEnumerableGenerator enumerableGenerator, ITypeIsArrayChecker isArrayChecker, IArrayGenerator arrayGenerator, ITypeIsValueTypeChecker isValueTypeChecker, IValueTypeActivator valueTypeActivator)
 {
     IsEnumerableChecker = isEnumerableChecker;
     EnumerableGenerator = enumerableGenerator;
     IsArrayChecker      = isArrayChecker;
     ArrayGenerator      = arrayGenerator;
     IsValueTypeChecker  = isValueTypeChecker;
     ValueTypeActivator  = valueTypeActivator;
 }
コード例 #2
0
        public static TimeSpan Measure(ISearchAlgorithm sortAlgorithm, IArrayGenerator arrayGenerator, int value)
        {
            var    array     = arrayGenerator.GetArray;
            Action act       = () => sortAlgorithm.Contains(array, value);
            var    stopwatch = new Stopwatch();

            stopwatch.Start();
            act.Invoke();
            stopwatch.Stop();
            return(stopwatch.Elapsed);
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: INIage/net-courses-2019
 /// <summary>
 /// Constructor which initializes all game components.
 /// </summary>
 public Game(
     IArrayGenerator <int> arrayGenerator,
     IStackDataStorage <int> stackDataStorage,
     IInputOutputDevice inputOutputDevice,
     ISettingsProvider settingsProvider,
     IPhraseProvider phraseProvider)
 {
     ArrayGenerator    = arrayGenerator;
     ChosenNumbers     = stackDataStorage;
     InputOutputDevice = inputOutputDevice;
     SettingsProvider  = settingsProvider;
     PhraseProvider    = phraseProvider;
 }
コード例 #4
0
ファイル: Game.cs プロジェクト: INIage/net-courses-2019
        public Game(IPhraseProvider phraseProvider,
                    IInputOutput io,
                    ISettingsProvider settingsProvider,
                    IArrayGenerator arrayGenerator,
                    IOperationWithData operationWithData)
        {
            this.phraseProvider    = phraseProvider;
            this.io                = io;
            this.settingsProvider  = settingsProvider;
            this.arrayGenerator    = arrayGenerator;
            this.operationWithData = operationWithData;

            this.gameSettings = this.settingsProvider.GetGameSettings();
            this.history      = new Stack <int>();
            currentLevel      = 1;
        }
コード例 #5
0
        public static void Log(ISearchAlgorithm sortAlgorithm, IArrayGenerator arrayGenerator, int value)
        {
            var elapsed            = RuntimeTimer.Measure(sortAlgorithm, arrayGenerator, value);
            var arrayType          = arrayGenerator.GetType().Name;
            var size               = arrayGenerator.Length;
            var algorithmName      = sortAlgorithm.GetType().Name;
            var benchmarkFileName  = $"{algorithmName}_{arrayType}.csv";
            var benchmarkDirectory = BenchmarksFolder + $"{algorithmName}/";

            Directory.CreateDirectory(benchmarkDirectory);
            var message = $"Elapsed; {elapsed}; Array Size; {size}; Array Type; {arrayType}; {algorithmName};";

            Console.WriteLine(message);
            using var sw = new StreamWriter(benchmarkDirectory + benchmarkFileName, true);
            sw.WriteLine(message);
        }
コード例 #6
0
 public void InjectDependency(IArrayGenerator dependency)
 {
     _arrayGenerator = dependency;
 }