public async Task WhenCallingIndexWithFilteringEmptyQueuesReturnDataIndicatingQueueCounts() { //Given var sut = new QueuesController(getQueuesQuery.Object, getMessageCountPerUser.Object, getUserSessionsQuery.Object); //When var result = await sut.Index(string.Empty, string.Empty, string.Empty, 0, 0, true); //Then var queueInfoModel = result.Should().BeOfType <JsonResult>().Which.Value.Should().BeOfType <QueueInformationModel>().Which; queueInfoModel.Total.Should().Be(3); queueInfoModel.Rows.Should().BeEquivalentTo( new QueueInformationModel.QueueCountInfo { Id = "TestQueue1", MessageCount = 10, MessageCountInvestigation = "60 (UserA_Username,UserB_Username)", Name = "TestQueue1" }, new QueueInformationModel.QueueCountInfo { Id = "TestQueue2", MessageCount = 20, MessageCountInvestigation = "20 (UserC_Username)", Name = "TestQueue2" }, new QueueInformationModel.QueueCountInfo { Id = "TestQueue3", MessageCount = 0, MessageCountInvestigation = "30 (UserD_Username)", Name = "TestQueue3" }); }
private void Preprocess() { if (m_isFinished) { Log("\n *** Simulation started *** \n"); // Initialize starting events TenantGenerator generator; TenantQueue queue; foreach (int key in GeneratorsController.Floors) { generator = GeneratorsController.Get(key); queue = QueuesController.Get(key); CreateEvent_NewTenant(generator, queue); } // Force update statistics GeneratorsController.UpdateStatistics(); QueuesController.UpdateStatistics(); ElevatorsController.UpdateStatistics(); m_isFinished = false; } else { Log("\n *** Simulation continued *** \n"); } }
private void Postprocess() { Log("\n *** Simulation stopped *** \n"); // Force update statistics GeneratorsController.UpdateStatistics(); QueuesController.UpdateStatistics(); ElevatorsController.UpdateStatistics(); }
public void CreateEvent_Pickup(Elevator elevator) { // Get associated queue TenantQueue queue = QueuesController.Get(elevator.CurrentFloor); if (queue.IsHallcall(elevator.Direction) && elevator.FreePlace > 0) { m_scheduler.Add(new PickupEvent(Time, this, queue, elevator)); } }
public void Reset() { // Reset time Time = 0; // Reset model elements m_scheduler.Reset(); GeneratorsController.Reset(); QueuesController.Reset(); ElevatorsController.Reset(); // Finish the simulation if it was started if (!m_isFinished) { Log("\n *** Simulation finished *** \n"); m_isFinished = true; } }