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; }
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); }
/// <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; }
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; }
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); }
public void InjectDependency(IArrayGenerator dependency) { _arrayGenerator = dependency; }