コード例 #1
0
class SchedulerTest(unittest.TestCase):

	def setUp(self):
		self.cpu = Mock()
		self.queue = Mock()
		self.scheduler = Scheduler(self.cpu)
		self.scheduler.currentQueue = self.queue

	def test_getNextPcb(self):
		self.scheduler.getNextPcb()
		verify(self.queue,times(1)).getMax()

	def test_addPcb_toCpu(self):
		pcb = Mock()

		when(self.queue).isEmpty().thenReturn(True)
		when(self.cpu).havePcb().thenReturn(False)

		self.scheduler.addPcb(pcb)

		verify(pcb,times(1)).toRunning()
		verify(self.cpu,times(1)).assignPcb(pcb)

	def test_addPcb_toQueue(self):
		pcb = Mock()

		when(self.queue).isEmpty().thenReturn(False)
		when(self.cpu).havePcb().thenReturn(False)

		self.scheduler.addPcb(pcb)

		verify(self.queue,times(1)).addPcb(pcb)

	def test_removePid(self):
		self.scheduler.removePid(3)
		verify(self.queue,times(1)).removePid(3)