public void QueueOfQueueEquipmentMustNotMove() { var testee = new QueueEquipment(); testee.Initialize(0, _module); _module.AddEquipment(testee); _module.AddItem(new SimulatedItem()); _module.Takt(); testee.ItemPassedCount.Should().Be(1); _module.GetItemByPosition(0).Should().NotBeNull(); _module.GetItemByPosition(1).Should().BeNull(); }
public void GivenNotActive_QueueMustNotRelease() { var testee = new QueueEquipment(); testee.Initialize(0, _module); _module.AddEquipment(testee); _module.AddItem(new SimulatedItem()); _module.Takt(); testee.IsActive = false; testee.ReleaseItem(); testee.QueueList.Items.Should().HaveCount(1); }
public void QueueEquipmentTests() { var testee = new QueueEquipment(); testee.Initialize(0, _module); testee.Capacity = 5; _module.AddEquipment(testee); var item1 = new SimulatedItem { ItemId = 1 }; var item2 = new SimulatedItem { ItemId = 2 }; var item3 = new SimulatedItem { ItemId = 3 }; // add 3 items to slot 0 _module.AddItem(item1); _module.AddItem(item2); _module.AddItem(item3); testee.ItemPassedCount.Should().Be(3); testee.QueueList.Items.Should().HaveCount(3); _module.GetItemByPosition(0).Should().BeOfType(typeof(SimulatedItemList)); // release 1 item (move to slot 1) testee.ReleaseItem(); testee.QueueList.Items.Should().HaveCount(2); _module.GetItemByPosition(1).Should().Be(item1, "item1 was added to the queue first and now released"); // relase all other items (slot 0 is empty now) testee.ReleaseItem(); testee.ReleaseItem(); testee.QueueList.Items.Should().HaveCount(0); _module.GetItemByPosition(0).Should().BeNull("there is not item in the queue anymore"); // further release must do nothing var action = new Action(testee.ReleaseItem); action.ShouldNotThrow("there is no more item to release"); }