def test_file_data_creation_empty_file(self): job_size_rate = 1 job_sizes = Expo(job_size_rate) file_data_arrival = arrivals.PoissonArrival(2, job_sizes, arr_seed=924, file=[]) self.assertEqual(False, file_data_arrival._from_file) file_data_arrival.first_arrival([self.dispatcher[0], self.world]) # Create an arrival self.world.process_event() # Process the arrival event self.assertEqual(file_data_arrival._last_job._size, 1.670055588109133) self.assertEqual(file_data_arrival._last_job._arrival_time, 0.28041127864778986)
def setUp(self): job_size_rate = 1 job_sizes = Expo(job_size_rate) seed = 500 self.arrival = arrivals.PoissonArrival(2, job_sizes, arr_seed=seed) self.statistics = stats.Statistics() self.world = global_state.Global(self.statistics) self.servers = simutil.init_servers(2, [1, 1], [2, 2]) # 2 servers, both using 1 (FIFO) and both run at 2 job units service rate. self.dispatcher = simutil.init_dispatchers(1, [1], [self.servers], [], 725)
def test_process_event(self): file_data_arrival = arrivals.PoissonArrival(2, self.job_sizes, arr_seed=924, file=[(0.28041127864778986, 1.670055588109133)]) self.world.schedule_event(file_data_arrival.generate_arrival, 1, [self.d[0], self.world]) # Schedule an event self.world.process_event() # Process the event self.assertEqual(file_data_arrival._last_job._arrival_time, 0.28041127864778986)
def setUp(self): self.stats = stats.Statistics() self.world = global_state.Global(self.stats) job_size_rate = 1 self.job_sizes = Expo(job_size_rate) arr_seed = 100 self.p_arrivals = arrivals.PoissonArrival(2, self.job_sizes, arr_seed) self.list_of_servers = simutil.init_servers(1, [1], [2]) self.policy_i = policies.ShortestQueue() self.d = simutil.init_dispatchers(1, [2], [self.list_of_servers], [], 150)
def test_generate_arrival_index_error(self): job_size_rate = 1 job_sizes = Expo(job_size_rate) file_data_arrival = arrivals.PoissonArrival(2, job_sizes, arr_seed=924, file=[(0.28041127864778986, 1.670055588109133)]) self.assertEqual(True, file_data_arrival._from_file) file_data_arrival.first_arrival([self.dispatcher[0], self.world]) # Create an arrival self.world.process_event() # Process the arrival event self.world.process_event() # Process the add job self.world.process_event() # Process the exit system self.world.process_event() # Process the next arrival self.assertEqual(file_data_arrival._last_job, None)
def test_file_data_creation(self): job_size_rate = 1 job_sizes = Expo(job_size_rate) f = open('../test_data/simulation_run_for_tests.txt', 'r') data = f.read().splitlines() f.close() data2 = [tuple(float(x) for x in item.split(',')) for item in data[:-1]] file_data_arrival = arrivals.PoissonArrival(2, job_sizes, file=data2) self.assertTrue(file_data_arrival._from_file) file_data_arrival.first_arrival([self.dispatcher[0], self.world]) # Create an arrival self.world.process_event() # Process the arrival event self.assertEqual(file_data_arrival._last_job._size, 1.0984470941530513) self.assertEqual(file_data_arrival._last_job._arrival_time, 0.6760705301109414)
def test_no_seed_creation(self): job_size_rate = 1 job_sizes = Expo(job_size_rate) no_seed_arrival = arrivals.PoissonArrival(2, job_sizes) self.assertEqual(no_seed_arrival._rate, 2)