Ulf@564
|
1 #include "CARFAC.h"
|
Ulf@564
|
2 #include "CARFAC_common.h"
|
Ulf@564
|
3 #include "gtest/gtest.h"
|
Ulf@564
|
4
|
Ulf@564
|
5 /*
|
Ulf@564
|
6 * CARFACDesignTest - Test suite for constructor related tests.
|
Ulf@564
|
7 */
|
Ulf@564
|
8 TEST(CARFACDesignTest, SampleRate) {
|
Ulf@586
|
9 CAR_parameters car_params = CAR_parameters();
|
Ulf@586
|
10 IHC_parameters ihc_params = IHC_parameters();
|
Ulf@586
|
11 AGC_parameters agc_params = AGC_parameters();
|
Ulf@564
|
12
|
Ulf@564
|
13 int arbitrary_number = 1347;
|
Ulf@564
|
14
|
Ulf@586
|
15 CARFAC fooCarfac = CARFAC(arbitrary_number, &car_params, &ihc_params, &agc_params, 1);
|
Ulf@586
|
16 EXPECT_EQ(fooCarfac.fs_, arbitrary_number);
|
Ulf@564
|
17 }
|
Ulf@564
|
18
|
Ulf@564
|
19 TEST(CARFACDesignTest, NumberOfEars) {
|
Ulf@586
|
20 CAR_parameters car_params = CAR_parameters();
|
Ulf@586
|
21 IHC_parameters ihc_params = IHC_parameters();
|
Ulf@586
|
22 AGC_parameters agc_params = AGC_parameters();
|
Ulf@564
|
23
|
Ulf@586
|
24 int fs = kDefaultFs;
|
Ulf@564
|
25
|
Ulf@586
|
26 CARFAC fooCarfac = CARFAC(fs, &car_params, &ihc_params, &agc_params, 2);
|
Ulf@586
|
27 EXPECT_EQ(fooCarfac.n_ears_, fooCarfac.ears_.size());
|
Ulf@564
|
28 }
|
Ulf@586
|
29
|
Ulf@586
|
30 TEST(CARFACDesignTest, MaxChannelsPerOctave) {
|
Ulf@586
|
31 CAR_parameters car_params = CAR_parameters();
|
Ulf@586
|
32 IHC_parameters ihc_params = IHC_parameters();
|
Ulf@586
|
33 AGC_parameters agc_params = AGC_parameters();
|
Ulf@586
|
34
|
Ulf@586
|
35 int fs = kDefaultFs;
|
Ulf@586
|
36
|
Ulf@586
|
37 car_params.erb_per_step_ = 2*0.5; //not sure if this is the best way to design this test... I'm just doing _something_ here.
|
Ulf@586
|
38 float expected_max_channels_per_octave = 10.56/2;
|
Ulf@586
|
39 float tolerance = 0.25;
|
Ulf@586
|
40
|
Ulf@586
|
41 CARFAC fooCarfac = CARFAC(fs, &car_params, &ihc_params, &agc_params, 1);
|
Ulf@586
|
42 ASSERT_NEAR(fooCarfac.max_channels_per_octave_, expected_max_channels_per_octave, tolerance);
|
Ulf@586
|
43 }
|