/// <summary> /// Создать баланс работы пчёл-маток, работающих в 40 раз быстрее. /// </summary> /// <param name="baseBalance">Исходный баланс.</param> public FastQueenBalance( IQueenBeeBalance baseBalance) { this.baseBalance = baseBalance; this.TimeToProduceBee = TimeSpan.FromMilliseconds( this.baseBalance.TimeToProduceBee.TotalMilliseconds / 5); }
/// <summary> /// Инициализировать временные интервалы различных операций. /// </summary> /// <param name="balance">Баланс пасеки.</param> private void InitializeOperationTimes(IApiaryBalance balance) { this.timeToWork = (int)balance.WorkerBalance.TimeToHarvestHoney.TotalMilliseconds; this.timeToRest = (int)balance.WorkerBalance.TimeToRestInBeehive.TotalMilliseconds; this.timeToCheck = (int)balance.GuardBalance.TimeToCheckOneBee.TotalMilliseconds; this.timeToProduceBee = (int)balance.QueenBalance.TimeToProduceBee.TotalMilliseconds; this.queenBalance = balance.QueenBalance; }
/// <summary> /// Общая настройка тестов пчелы-матки. /// </summary> public QueenBeeTests() { FastApiaryBalance balanceFast = new FastApiaryBalance(new DefaultApiaryBalance()); this.queenBalance = balanceFast.QueenBalance; ServiceLocator.Instance.RegisterService <IApiaryBalance>(balanceFast); ServiceLocator.Instance.RegisterService <IRandomizer>(new Randomizer()); ServiceLocator.Instance.RegisterService <IBeeFactory>(new DefaultBeeFactory()); }
/// <summary> /// Создать баланс работы пчёл-маток, не производящих маток. /// </summary> /// <param name="baseBalance">Исходный баланс.</param> public QueenBalanceDontProducingQueens( IQueenBeeBalance baseBalance) { this.baseBalance = baseBalance; }