def test_job_complex_1(): task1 = ComputingTask(20) task2 = TransferTask(1000000) job = Job([task1, task2]) request1 = job.try_step() assert request1 == ResourceUsage({'cpu_usage': 20}) result = job.do_step(usage_response=ResourceUsage({'cpu_usage': 20})) assert result is False request2 = job.try_step() assert request2 == ResourceUsage({'network': 1000000}) result = job.do_step(usage_response=ResourceUsage({'network': 1000000})) assert result is True request3 = job.try_step() assert request3 == ResourceUsage()