def test_when_have_a_program_Then_the_memory_is_write_with_a_new_program(
            self):

        program = Program()
        instruction1 = Instruction("Cpu Instruction1", InstructionType.cpu,
                                   ResourceType.Monitor)
        instruction2 = Instruction("Cpu Instruction1", InstructionType.cpu,
                                   ResourceType.Monitor)
        instruction3 = Instruction("Cpu Instruction1", InstructionType.cpu,
                                   ResourceType.Monitor)
        instruction4 = Instruction("Cpu Instruction1", InstructionType.cpu,
                                   ResourceType.Monitor)
        program.add(instruction1)
        program.add(instruction2)
        program.add(instruction3)
        program.add(instruction4)
        self.memoryManager.loadToMemory(
            self.programLoader.createPcb(program, "program0"),
            program.instructions)
        self.assertEqual(self.memory.cells[1], instruction2)
 def test_when_write_program_toDisk_Then_verify_that_the_program_list_is_incremented(
         self):
     program = Program()
     self.disk.writeProgram(program)
     self.assertEqual(len(self.disk.programs), 1)
 def test_when_write_program_toDisk_Then_verify_that_obtain_the_program(
         self):
     program = Program()
     self.disk.writeProgram(program)
     self.assertEqual(self.disk.getProgram("program0"), program)
 def test_when_have_a_program_Then_I_want_to_add_a_two_instructions(self):
     program = Program()
     program.add(Mock())
     program.add(Mock())
     self.assertEqual(len(program.instructions), 2)
    def test_when_have_a_program_Then_I_want_to_create_a_pcb_with_pid_1(self):

        program = Program()
        self.assertEqual(
            self.programLoader.createPcb(program, "program0").pid, 1)