def setUp(self):
        self.disk = Disk()
        self.irqQueueMock = Queue()
        self.killHandleMock = Mock()
        self.timeOutHandleMock = Mock()
        self.ioHandleMock = Mock()

        self.lockProcessingMock = Condition()
        self.lockIrqQueueMock = Condition()
        self.lockReadyQueueMock = Condition()
        self.lockInstructions = Condition()
        self.lockIrq = Condition()
        self.memory = Memory(self.lockInstructions)

        self.interruptionManager = InterruptionManager(self.lockReadyQueueMock,
                                                       self.lockProcessingMock,
                                                       self.irqQueueMock,
                                                       self.lockIrqQueueMock)
        self.interruptionManager.registerHandler(IRQ.kill, self.killHandleMock)
        self.interruptionManager.registerHandler(IRQ.timeOut,
                                                 self.timeOutHandleMock)
        self.interruptionManager.registerHandler(IRQ.IO, self.ioHandleMock)
        self.programLoader = ProgramLoader(self.disk, self.memory,
                                           self.interruptionManager,
                                           PcbTable(), self.lockIrq)
        self.memoryManager = MemoryManager(self.memory, self.disk, Mock(),
                                           Mock())
    def setUp(self):
        self.killHandleMock = Mock()
        self.timeOutHandleMock = Mock()
        self.ioHandleMock = Mock()

        self.lockProcessingMock = Condition()
        self.irqQueueMock = Queue()
        self.lockIrqQueueMock = Condition()
        self.lockReadyQueueMock = Condition()

        self.interruptionManager = InterruptionManager(self.lockReadyQueueMock,
                                                       self.lockProcessingMock,
                                                       self.irqQueueMock,
                                                       self.lockIrqQueueMock)
        self.interruptionManager.registerHandler(IRQ.kill, self.killHandleMock)
        self.interruptionManager.registerHandler(IRQ.timeOut,
                                                 self.timeOutHandleMock)
        self.interruptionManager.registerHandler(IRQ.IO, self.ioHandleMock)
 def createElement(self, lock, lockProcessing, irqQueue, lockIrqQueue):
     return InterruptionManager(lock, lockProcessing, irqQueue, lockIrqQueue)