Mercurial > hg > aimc
view branches/carfac_cpp/unittest/CARFAC_unittest.cpp @ 695:2e3672df5698
Simple integration test between CARFAC and SAI.
The interface between the two classes is pretty clunky because of the
way CARFACOutput stores things. We should work on this, probably by
rotating the outer two dimensions of CARFACOutput (i.e. store outputs
in containers with sizes n_ears x n_samples x n_channels instead of
n_samples x n_ears x n_channels).
author | ronw@google.com |
---|---|
date | Wed, 26 Jun 2013 23:35:47 +0000 |
parents | d59c0d65624b |
children |
line wrap: on
line source
#include "CARFAC.h" #include "CARFAC_common.h" #include "gtest/gtest.h" /* * CARFACDesignTest - Test suite for constructor related tests. */ TEST(CARFACDesignTest, SampleRate) { CAR_parameters car_params = CAR_parameters(); IHC_parameters ihc_params = IHC_parameters(); AGC_parameters agc_params = AGC_parameters(); int arbitrary_number = 1347; CARFAC fooCarfac = CARFAC(arbitrary_number, &car_params, &ihc_params, &agc_params, 1); EXPECT_EQ(fooCarfac.fs_, arbitrary_number); } TEST(CARFACDesignTest, NumberOfEars) { CAR_parameters car_params = CAR_parameters(); IHC_parameters ihc_params = IHC_parameters(); AGC_parameters agc_params = AGC_parameters(); CARFAC fooCarfac = CARFAC(kDefaultFs, &car_params, &ihc_params, &agc_params, 2); EXPECT_EQ(fooCarfac.n_ears_, fooCarfac.ears_.size()); } TEST(CARFACDesignTest, MaxChannelsPerOctave) { CAR_parameters car_params = CAR_parameters(); IHC_parameters ihc_params = IHC_parameters(); AGC_parameters agc_params = AGC_parameters(); 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. float expected_max_channels_per_octave = 10.56/2; float tolerance = 0.25; CARFAC fooCarfac = CARFAC(kDefaultFs, &car_params, &ihc_params, &agc_params, 1); ASSERT_NEAR(fooCarfac.max_channels_per_octave_, expected_max_channels_per_octave, tolerance); }