def test_not_binary_error_discrete_swarm(self): """Test if method raises ValueError given wrong init_pos val""" init_pos = [0, 1, 2] with pytest.raises(ValueError): P.generate_discrete_swarm( n_particles=2, dimensions=3, binary=True, init_pos=init_pos )
def test_generate_discrete_swarm(init_pos): """Tests if init_pos actually sets the position properly""" dims = 3 pos = P.generate_discrete_swarm(n_particles=2, dimensions=dims, init_pos=init_pos) if init_pos is None: assert (np.max(pos, axis=1) == dims - 1).all() else: assert np.equal(pos, init_pos).all()
def test_generate_discrete_binary_swarm(binary): """Tests if generate_discrete_swarm(binary=True) returns expected values""" dims = 3 pos = P.generate_discrete_swarm(n_particles=2, dimensions=dims, binary=binary) if binary: assert len(np.unique(pos)) <= 2 # Might generate pure 0 or 1 else: assert (np.max(pos, axis=1) == dims - 1).all()