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_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 configurationOfTheDiskWithThreePrograms(self):

        program1 = Program()
        program1.add(Instruction("Cpu Instruction1", InstructionType.cpu, ResourceType.Monitor))
        program1.add(Instruction("Cpu Instruction2", InstructionType.cpu, ResourceType.Monitor))
        program1.add(Instruction("io Instruction3", InstructionType.io, ResourceType.Monitor))
        program1.add(Instruction("Cpu Instruction5", InstructionType.cpu, ResourceType.Monitor))
        program1.add(Instruction("Kill Instruction", InstructionType.kill, ResourceType.Monitor))

        program2 = Program()
        program2.add(Instruction("Cpu Instruction1", InstructionType.cpu, ResourceType.Monitor))
        program2.add(Instruction("Cpu Instruction2", InstructionType.cpu, ResourceType.Monitor))
        program2.add(Instruction("io Instructio3", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("io Instructio4", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("io Instructio5", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("io Instructio6", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("io Instructio7", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("io Instructio8", InstructionType.io, ResourceType.Printer))
        program2.add(Instruction("Kill Instruction", InstructionType.kill, ResourceType.Monitor))

        program3 = Program()
        program3.add(Instruction("Cpu Instruction1", InstructionType.cpu, ResourceType.Monitor))
        program3.add(Instruction("Cpu Instruction2", InstructionType.cpu, ResourceType.Monitor))
        program3.add(Instruction("io Instruction3", InstructionType.io, ResourceType.Printer))
        program3.add(Instruction("Cpu Instruction4", InstructionType.cpu, ResourceType.Monitor))
        program3.add(Instruction("Cpu Instruction5", InstructionType.cpu, ResourceType.Monitor))
        program3.add(Instruction("Cpu Instruction6", InstructionType.cpu, ResourceType.Monitor))
        program3.add(Instruction("io Instructio7", InstructionType.io, ResourceType.Printer))
        program3.add(Instruction("io Instructio8", InstructionType.io, ResourceType.Printer))
        program3.add(Instruction("Kill Instruction", InstructionType.kill, ResourceType.Monitor))

        Disk= self.createElement()

        Disk.writeProgram(program1)
        Disk.writeProgram(program2)
        Disk.writeProgram(program3)

        return Disk
 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_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)