From 30e59a7d1607e9ff270963aacf4f449263281abe Mon Sep 17 00:00:00 2001 From: rkcf Date: Tue, 28 Feb 2023 10:10:42 -0600 Subject: [PATCH] Test: add Wavetable construction test coverage Refs: #18 --- CMakeLists.txt | 4 ++++ tests/wavetable_test.cpp | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 tests/wavetable_test.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index d3d92b0..a1e0eeb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,10 +24,14 @@ 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) target_link_libraries(wtpp_test GTest::gtest_main) target_link_libraries(wave_test GTest::gtest_main) +target_link_libraries(wavetable_test GTest::gtest_main) include(GoogleTest) + gtest_discover_tests(wtpp_test) gtest_discover_tests(wave_test) +gtest_discover_tests(wavetable_test) diff --git a/tests/wavetable_test.cpp b/tests/wavetable_test.cpp new file mode 100644 index 0000000..bc20242 --- /dev/null +++ b/tests/wavetable_test.cpp @@ -0,0 +1,37 @@ +#include "../src/wavetable.h" +#include "gtest/gtest.h" + +// Initialize index at 0 for wave cycles +uint16_t Wave::m_nid = 0; +uint16_t Wavetable::m_nid = 0; + +TEST(Wavetable, DefaultConstructor) +{ + Wavetable w1("PPG"), w2("!PPG"); + // Check ids are correct + EXPECT_EQ(w1.getId(), 0); + EXPECT_EQ(w2.getId(), 1); + // Check name is correct + // std::string name = w1.name(); + // EXPECT_EQ(name, "PPG"); +} + +TEST(Wavetable, CopyConstructor) { + Wavetable w1("PPG"); + Wavetable w2(w1); + // Check id is correct + EXPECT_EQ(w2.getId(), 0); + // Sample name is correct + // std::string name = w2.name(); + // EXPECT_EQ(name, "PPG"); +} + +TEST(Wavetable, CopyAssignment) { + Wavetable w1("PPG"); + Wavetable w2 = w1; + // Check id is correct + EXPECT_EQ(w2.getId(), 0); + // Check name is correct + // std::string name = w2.name(); + // EXPECT_EQ(name, "PPG"); +}