def test_sampling_size_and_type(sample): # Check number of values correct. for sample in [1, 2, 3, 4, 5, 7, 10, 15]: assert len(snrnorm.sampling_index(20, sample)) == sample assert isinstance( snrnorm.sampling_index(20, sample)[0], (int, np.integer) ) # index values must be int
def test_sampling_index(): """Some hard coded examples of sampling index.""" # odd number assert snrnorm.sampling_index(6, 1) == [6] assert np.all(snrnorm.sampling_index(100, 3) == [99, 100, 101]) assert np.all(snrnorm.sampling_index(5, 5) == [3, 4, 5, 6, 7]) # even number assert np.all(snrnorm.sampling_index(10, 4) == [8, 9, 10, 11]) assert np.all(snrnorm.sampling_index(10, 2) == [9, 10])
def test_sampling_index_array(): """Sampling index when array_length is given, or when index goes out of bounds.""" assert np.all(snrnorm.sampling_index(100, 3, array_length=200) == [99, 100, 101]) with pytest.raises(ValueError): snrnorm.sampling_index(3, 10) # index will be < 0 with pytest.raises(ValueError): snrnorm.sampling_index(3, 9, array_length=50) # index will be < 0 with pytest.raises(ValueError): snrnorm.sampling_index( 46, 10, array_length=50 ) # an index will be > (array_length - 1)