Esempio n. 1
0
class ProcessTest(unittest.TestCase):
    def setUp(self):
        self.raw_data = RawData().p1
        self.process = Process(0, self.raw_data)



    def test_is_done(self):
        while not self.process.is_done():
            self.process.schedule['cpu'].pop()
            self.process.schedule['io'].pop()
        valid = not self.process.schedule['cpu'] and not self.process.schedule['io']
        self.assertTrue(valid and self.process.is_done())


    def test_burst(self):
        expected_burst = sum(i for i in self.process.schedule['cpu'])
        actual_burst = 0
        while not self.process.is_done():
            current_burst = random.randrange(1, self.process.schedule['cpu'][0]+1)
            actual_burst += self.process.burst(amount=current_burst)
        self.assertEqual(expected_burst, actual_burst)