diff --git a/CMakeLists.txt b/CMakeLists.txt index a1e0eeb..6f1e02f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,13 +25,16 @@ enable_testing() add_executable(wtpp_test tests/wtpp_test.cpp) add_executable(wave_test tests/wave_test.cpp) add_executable(wavetable_test tests/wavetable_test.cpp) +add_executable(generators_test tests/generators_test.cpp) target_link_libraries(wtpp_test GTest::gtest_main) target_link_libraries(wave_test GTest::gtest_main) target_link_libraries(wavetable_test GTest::gtest_main) +target_link_libraries(generators_test generators GTest::gtest_main) include(GoogleTest) gtest_discover_tests(wtpp_test) gtest_discover_tests(wave_test) gtest_discover_tests(wavetable_test) +gtest_discover_tests(generators_test) diff --git a/tests/generators_test.cpp b/tests/generators_test.cpp new file mode 100644 index 0000000..6790a0c --- /dev/null +++ b/tests/generators_test.cpp @@ -0,0 +1,35 @@ +#include "../src/generators.h" +#include "gtest/gtest.h" + +TEST(Generator, SineWave) +{ + sample_table_t t = gen_sin(); + // Starts at 0 + EXPECT_EQ(t[0], 0); +} + +TEST(Generator, SquareWave) { + sample_table_t t = gen_squ(); + // Starts at 1 + EXPECT_EQ(t[0], 1); + // Ends at -1 + EXPECT_EQ(t[DEFAULT_N_SAMPLES - 1], -1); +} + +TEST(Generator, SawWave) { + sample_table_t t = gen_saw(); + // Starts at -1 + EXPECT_EQ(t[0], -1); +} + +TEST(Generator, TriangleWave) { + sample_table_t t = gen_tri(); + // Starts at -1 + EXPECT_EQ(t[0], -1); +} + +TEST(Generator, InverseSawWave) { + sample_table_t t = gen_isaw(); + // Starts at 1 + EXPECT_EQ(t[0], 1); +}