def test_out_of_bounds(self): """Test if method raises ValueError when initialized with the wrong value""" bounds = ([1, 1, 1], [5, 5, 5]) init_pos = np.array([[-2, 3, 3], [6, 8, 1]]) with pytest.raises(ValueError): P.generate_swarm( n_particles=2, dimensions=3, bounds=bounds, init_pos=init_pos )
def test_return_values(self, bounds, center): """Test if method returns expected values""" pos = P.generate_swarm( n_particles=2, dimensions=3, bounds=bounds, center=center ) if bounds is None: min_bounds, max_bounds = (0.1, 2.00) else: min_bounds, max_bounds = bounds lower_bound = center * np.array(min_bounds) upper_bound = center * np.array(max_bounds) assert (pos <= upper_bound).all() and (pos >= lower_bound).all()
def test_generate_swarm_bounds_init_pos(bounds, init_pos): """Tests if generate_swarm() returns expected values given init_pos and bounds""" pos = P.generate_swarm(n_particles=2, dimensions=3, bounds=bounds, init_pos=init_pos) if (bounds is None) and (init_pos is None): min_bounds, max_bounds = (0.0, 1.00) elif (bounds is None) and (init_pos is not None): min_bounds, max_bounds = (-np.inf, np.inf) else: min_bounds, max_bounds = bounds lower_bound = np.array(min_bounds) upper_bound = np.array(max_bounds) assert (pos <= upper_bound).all() and (pos >= lower_bound).all()
def test_bounds_wrong_size(self, bounds): """Test if method raises ValueError when bounds is of wrong shape""" with pytest.raises(ValueError): P.generate_swarm(n_particles=2, dimensions=3, bounds=bounds)
def test_bounds_wrong_type(self, bounds): """Test if method raises TypeError when bounds is not an array""" with pytest.raises(TypeError): P.generate_swarm(n_particles=2, dimensions=3, bounds=bounds)