コード例 #1
0
    def test_put_item_in_slot_adds_item_and_sets_slot_to_busy(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        item = Item(name='A')
        conveyor_belt.put_item_in_slot(slot_number=0, item=item)

        assert conveyor_belt.check_item_at_slot(slot_number=0) == item
        assert conveyor_belt.is_slot_busy(slot_number=0)
コード例 #2
0
    def test_confirm_operation_finished_changes_slot_state_to_free(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        item = Item(name='A')
        conveyor_belt.put_item_in_slot(slot_number=0, item=item)

        assert conveyor_belt.is_slot_busy(slot_number=0)
        conveyor_belt.confirm_operation_at_slot_finished(slot_number=0)
        assert not conveyor_belt.is_slot_busy(slot_number=0)
コード例 #3
0
    def test_retrieve_item_from_slot(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        item = Item(name='A')
        conveyor_belt.enqueue(item)

        assert conveyor_belt.retrieve_item_from_slot(slot_number=0) == item
        assert conveyor_belt.is_slot_busy(slot_number=0)
        assert conveyor_belt.check_item_at_slot(
            slot_number=0).name == conveyor_belt.factory_config.empty_code
コード例 #4
0
    def test_it_can_be_instantiated(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()

        assert conveyor_belt.slot_states == {
            0: 'free',
            1: 'free',
            2: 'free',
        }
        assert conveyor_belt.size == 3
        for item in conveyor_belt.items:
            assert item.name == conveyor_belt.factory_config.empty_code
コード例 #5
0
 def conveyor_belt(self, factory_config):
     return ConveyorBeltFactory(factory_config=factory_config)
コード例 #6
0
    def test_is_slot_free_returns_false(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        conveyor_belt.put_item_in_slot(slot_number=0, item=Item(name='A'))

        assert not conveyor_belt.is_slot_free(slot_number=0)
コード例 #7
0
 def test_is_slot_free_returns_true(self):
     conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
     assert conveyor_belt.is_slot_free(slot_number=0)
コード例 #8
0
    def test_is_slot_empty_returns_false(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        conveyor_belt.enqueue(Item(name='A'))

        assert not conveyor_belt.is_slot_empty(0)
コード例 #9
0
    def test_is_slot_empty_returns_true(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()

        assert conveyor_belt.is_slot_empty(0)
コード例 #10
0
    def test_is_slot_busy_returns_false(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()

        assert not conveyor_belt.is_slot_busy(0)
コード例 #11
0
    def test_is_slot_busy_returns_true(self):
        conveyor_belt: ConveyorBelt = ConveyorBeltFactory()
        conveyor_belt.put_item_in_slot(slot_number=0, item=Item(name='A'))

        assert conveyor_belt.is_slot_busy(0)
コード例 #12
0
    def test_check_item_at_slot_with_item_not_present(self):

        conveyor_belt = ConveyorBeltFactory()

        assert conveyor_belt.check_item_at_slot(
            0).name == conveyor_belt.factory_config.empty_code
コード例 #13
0
    def test_check_item_at_slot_with_item_present(self):
        conveyor_belt = ConveyorBeltFactory()
        conveyor_belt.enqueue(1)

        assert conveyor_belt.check_item_at_slot(0) == 1