def test_should_return_true_when_server1_has_longer_tasks_than_server2(): server1 = lb.Server(1) server2 = lb.Server(2) server1.add(5) server2.add(3) server2.add(2) assert lb.check_tasks(server1, server2) is True
def test_should_return_false_when_server2_has_longer_tasks_than_server1(): server1 = lb.Server(1) server2 = lb.Server(2) server1.add(1) server2.add(3) server2.add(2) assert lb.check_tasks(server1, server2) is False
def test_should_return_the_server_with_longer_tasks_when_both_servers_are_available( ): umax = 2 server1 = lb.Server(umax) server2 = lb.Server(umax) server1.add(3) server2.add(2) assert lb.get_best_server([server1, server2], umax) == server1
def test_should_return_the_available_server_when_one_is_available_and_one_is_full( ): umax = 2 server1 = lb.Server(umax) server2 = lb.Server(umax) server1.add(1) server1.add(3) server2.add(2) assert lb.get_best_server([server1, server2], umax) == server2
def test_should_add_two_users_one_on_each_server_when_both_servers_are_available( ): umax = 2 ttask = 5 server1 = lb.Server(umax) server2 = lb.Server(umax) server1.add(3) server2.add(2) lb.users_to_server([server1, server2], 2, umax, ttask) assert server1.users == [3, 5] and server2.users == [2, 5]
def test_should_reduce_one_tick_per_user_on_all_servers_when_a_tick_passes(): server1 = lb.Server(1) server2 = lb.Server(2) ttask = 2 server1.add(ttask) server2.add(ttask) server2.add(ttask) lb.run_tick([server1, server2]) assert server1.users == [ttask - 1] assert server2.users == [ttask - 1] * 2
def test_should_add_new_user_to_server_with_longer_tasks_when_both_servers_are_available( ): umax = 2 ttask = 5 server1 = lb.Server(umax) server2 = lb.Server(umax) server1.add(3) server2.add(2) lb.users_to_server([server1, server2], 1, umax, ttask) assert server1.users == [3, 5]
def test_should_reduce_one_tick_per_user_on_the_server_when_a_tick_passes_then_remove_users_with_finished_tasks( ): server = lb.Server(2) server.add(1) server.add(1) server.tick() assert server.users == []
def test_should_return_false_when_try_to_add_user_after_max_users_reached(): server = lb.Server(2) server.add(1) server.add(1) assert server.add(1) is False
def test_should_return_new_server_when_both_servers_are_full(): umax = 2 server = lb.Server(umax) server.add(1) server.add(3) assert isinstance(lb.get_best_server([server], umax), lb.Server) is True
def test_should_reduce_one_tick_per_user_on_the_server_when_a_tick_passes(): server = lb.Server(2) server.add(2) server.add(3) server.tick() assert server.users == [1, 2]
def test_should_remove_users_with_finished_tasks_on_server(): server = lb.Server(2) server.add(0) server.add(1) server.clear() assert server.users == [1]
def test_should_return_highest_ticks_remaining_on_server(): server = lb.Server(2) server.add(1) server.add(10) assert server.max_task() == 10
def test_should_return_ticks_remaining_per_task_when_calling_users(): server = lb.Server(2) server.add(1) server.add(10) assert server.users == [1, 10]
def test_should_return_true_when_server_is_available(umax): server = lb.Server(umax) assert server.available() is True
def test_should_return_false_when_server_is_not_available(): server = lb.Server(2) server.add(1) server.add(1) assert server.available() is False
def test_should_return_true_when_user_is_added(): server = lb.Server(2) ttask = 1 assert server.add(ttask) is True