示例#1
0
 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
         )
示例#2
0
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()
示例#3
0
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()