def test_loa_params(): params = { "N": 0.2, "P": 4, "S": 0.8, "R": 0.2, "I": 0.4, "Ma": 0.3, "Mu": 0.2 } new_loa = loa.LOA(params=params) assert new_loa.N == 0.2 assert new_loa.P == 4 assert new_loa.S == 0.8 assert new_loa.R == 0.2 assert new_loa.I == 0.4 assert new_loa.Ma == 0.3 assert new_loa.Mu == 0.2
def test_loa_compile(): search_space = search.SearchSpace(n_agents=10, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space)
def test_loa_moving_safe_place(): search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) prides = new_loa._get_pride_lions(search_space.agents) new_loa._moving_safe_place(prides)
def test_loa_update(): def square(x): return np.sum(x**2) search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) new_loa.update(search_space, square)
def test_loa_migrating(): search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) nomads = new_loa._get_nomad_lions(search_space.agents) prides = new_loa._get_pride_lions(search_space.agents) new_nomads, new_prides = new_loa._migrating(nomads, prides)
def test_loa_equilibrium(): search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) nomads = new_loa._get_nomad_lions(search_space.agents) prides = new_loa._get_pride_lions(search_space.agents) prides[0] = prides[0] + prides[0] new_nomads, new_prides = new_loa._equilibrium(nomads, prides, 100)
def test_loa_check_prides_for_males(): search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) prides = new_loa._get_pride_lions(search_space.agents) for agent in prides[0]: agent.female = True new_loa._check_prides_for_males(prides)
def test_loa_nomad_mating(): def square(x): return np.sum(x**2) search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) nomads = new_loa._get_nomad_lions(search_space.agents) new_loa._nomad_mating(nomads, square)
def test_loa_mating_operator(): def square(x): return np.sum(x**2) search_space = search.SearchSpace(n_agents=100, n_variables=2, lower_bound=[0, 0], upper_bound=[10, 10]) new_loa = loa.LOA() new_loa.compile(search_space) new_loa.Mu = 1 nomads = new_loa._get_nomad_lions(search_space.agents) males_nomads = [nomad for nomad in nomads if not nomad.female] a1, a2 = new_loa._mating_operator(search_space.agents[0], males_nomads, square) assert type(a1).__name__ == "Lion" assert type(a2).__name__ == "Lion"
def test_loa_params_setter(): new_loa = loa.LOA() try: new_loa.N = "a" except: new_loa.N = 0.2 assert new_loa.N == 0.2 try: new_loa.N = -1 except: new_loa.N = 0.2 assert new_loa.N == 0.2 try: new_loa.P = "b" except: new_loa.P = 4 assert new_loa.P == 4 try: new_loa.P = -1 except: new_loa.P = 4 assert new_loa.P == 4 try: new_loa.S = "c" except: new_loa.S = 0.8 assert new_loa.S == 0.8 try: new_loa.S = -1 except: new_loa.S = 0.8 assert new_loa.S == 0.8 try: new_loa.R = "d" except: new_loa.R = 0.2 assert new_loa.R == 0.2 try: new_loa.R = -1 except: new_loa.R = 0.2 assert new_loa.R == 0.2 try: new_loa.I = "e" except: new_loa.I = 0.4 assert new_loa.I == 0.4 try: new_loa.I = -1 except: new_loa.I = 0.4 assert new_loa.I == 0.4 try: new_loa.Ma = "f" except: new_loa.Ma = 0.3 assert new_loa.Ma == 0.3 try: new_loa.Ma = -1 except: new_loa.Ma = 0.3 assert new_loa.Ma == 0.3 try: new_loa.Mu = "g" except: new_loa.Mu = 0.2 assert new_loa.Mu == 0.2 try: new_loa.Mu = -1 except: new_loa.Mu = 0.2 assert new_loa.Mu == 0.2