| Index: webrtc/modules/audio_processing/test/conversational_speech/generator_unittest.cc
|
| diff --git a/webrtc/modules/audio_processing/test/conversational_speech/generator_unittest.cc b/webrtc/modules/audio_processing/test/conversational_speech/generator_unittest.cc
|
| index da923bc44817e6297571f39748501b218929249e..221ad7c7066f3e568ea788f76947a2dfe42d4bc3 100644
|
| --- a/webrtc/modules/audio_processing/test/conversational_speech/generator_unittest.cc
|
| +++ b/webrtc/modules/audio_processing/test/conversational_speech/generator_unittest.cc
|
| @@ -8,27 +8,71 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
|
|
| +#include <cstdio>
|
| +#include <memory>
|
| +
|
| #include "webrtc/modules/audio_processing/test/conversational_speech/config.h"
|
| +#include "webrtc/modules/audio_processing/test/conversational_speech/timing.h"
|
| #include "webrtc/test/gtest.h"
|
| +#include "webrtc/test/testsupport/fileutils.h"
|
|
|
| namespace webrtc {
|
| namespace test {
|
| namespace {
|
|
|
| +using conversational_speech::LoadTiming;
|
| +using conversational_speech::SaveTiming;
|
| +using conversational_speech::Turn;
|
| +
|
| const char* const audiotracks_path = "/path/to/audiotracks";
|
| const char* const timing_filepath = "/path/to/timing_file.txt";
|
| const char* const output_path = "/path/to/output_dir";
|
|
|
| +const std::vector<Turn> expected_timing = {
|
| + {"A", "a1", 0},
|
| + {"B", "b1", 0},
|
| + {"A", "a2", 100},
|
| + {"B", "b2", -200},
|
| + {"A", "a3", 0},
|
| + {"A", "a4", 0},
|
| +};
|
| +const std::size_t kNumberOfTurns = expected_timing.size();
|
| +
|
| } // namespace
|
|
|
| TEST(ConversationalSpeechTest, Settings) {
|
| - conversational_speech::Config config(
|
| + const conversational_speech::Config config(
|
| audiotracks_path, timing_filepath, output_path);
|
|
|
| // Test getters.
|
| - EXPECT_EQ(config.audiotracks_path(), audiotracks_path);
|
| - EXPECT_EQ(config.timing_filepath(), timing_filepath);
|
| - EXPECT_EQ(config.output_path(), output_path);
|
| + EXPECT_EQ(audiotracks_path, config.audiotracks_path());
|
| + EXPECT_EQ(timing_filepath, config.timing_filepath());
|
| + EXPECT_EQ(output_path, config.output_path());
|
| +}
|
| +
|
| +TEST(ConversationalSpeechTest, ExpectedTimingSize) {
|
| + // Check the expected timing size.
|
| + EXPECT_EQ(kNumberOfTurns, 6u);
|
| +}
|
| +
|
| +TEST(ConversationalSpeechTest, TimingSaveLoad) {
|
| + // Save test timing.
|
| + const std::string temporary_filepath = webrtc::test::TempFilename(
|
| + webrtc::test::OutputPath(), "TempTimingTestFile");
|
| + SaveTiming(temporary_filepath, expected_timing);
|
| +
|
| + // Create a std::vector<Turn> instance by loading from file.
|
| + std::vector<Turn> actual_timing = LoadTiming(temporary_filepath);
|
| + std::remove(temporary_filepath.c_str());
|
| +
|
| + // Check size.
|
| + EXPECT_EQ(expected_timing.size(), actual_timing.size());
|
| +
|
| + // Check Turn instances.
|
| + for (size_t index = 0; index < expected_timing.size(); ++index) {
|
| + EXPECT_EQ(expected_timing[index], actual_timing[index])
|
| + << "turn #" << index << " not matching";
|
| + }
|
| }
|
|
|
| } // namespace test
|
|
|