feat(audio): formalize runtime effects and wav loading
This commit is contained in:
@@ -65,7 +65,10 @@ TEST(AudioLoader, ParseWAV_Mono44100_16bit) {
|
||||
EXPECT_EQ(clip->GetSampleRate(), 44100u);
|
||||
EXPECT_EQ(clip->GetChannels(), 1u);
|
||||
EXPECT_EQ(clip->GetBitsPerSample(), 16u);
|
||||
EXPECT_GT(clip->GetDuration(), 0.0f);
|
||||
EXPECT_EQ(clip->GetPCMData().Size(), 44100u * sizeof(int16_t));
|
||||
EXPECT_EQ(clip->GetFrameCount(), 44100u);
|
||||
EXPECT_EQ(clip->GetSampleCount(), 44100u);
|
||||
EXPECT_FLOAT_EQ(clip->GetDuration(), 1.0f);
|
||||
}
|
||||
|
||||
std::remove(testPath);
|
||||
@@ -84,6 +87,10 @@ TEST(AudioLoader, ParseWAV_Stereo48000_16bit) {
|
||||
EXPECT_EQ(clip->GetSampleRate(), 48000u);
|
||||
EXPECT_EQ(clip->GetChannels(), 2u);
|
||||
EXPECT_EQ(clip->GetBitsPerSample(), 16u);
|
||||
EXPECT_EQ(clip->GetPCMData().Size(), 4800u * 2u * sizeof(int16_t));
|
||||
EXPECT_EQ(clip->GetFrameCount(), 4800u);
|
||||
EXPECT_EQ(clip->GetSampleCount(), 9600u);
|
||||
EXPECT_FLOAT_EQ(clip->GetDuration(), 0.1f);
|
||||
}
|
||||
|
||||
std::remove(testPath);
|
||||
@@ -97,14 +104,15 @@ TEST(AudioLoader, GetResourceType) {
|
||||
TEST(AudioLoader, GetSupportedExtensions) {
|
||||
AudioLoader loader;
|
||||
auto extensions = loader.GetSupportedExtensions();
|
||||
EXPECT_GE(extensions.Size(), 1u);
|
||||
ASSERT_EQ(extensions.Size(), 1u);
|
||||
EXPECT_EQ(extensions[0], XCEngine::Containers::String("wav"));
|
||||
}
|
||||
|
||||
TEST(AudioLoader, CanLoad) {
|
||||
AudioLoader loader;
|
||||
EXPECT_TRUE(loader.CanLoad("test.wav"));
|
||||
EXPECT_TRUE(loader.CanLoad("test.mp3"));
|
||||
EXPECT_TRUE(loader.CanLoad("test.ogg"));
|
||||
EXPECT_FALSE(loader.CanLoad("test.mp3"));
|
||||
EXPECT_FALSE(loader.CanLoad("test.ogg"));
|
||||
EXPECT_FALSE(loader.CanLoad("test.txt"));
|
||||
EXPECT_FALSE(loader.CanLoad("test.png"));
|
||||
}
|
||||
@@ -115,4 +123,13 @@ TEST(AudioLoader, LoadInvalidPath) {
|
||||
EXPECT_FALSE(result);
|
||||
}
|
||||
|
||||
TEST(AudioLoader, ResourceManagerRegistersAudioLoader) {
|
||||
ResourceManager& manager = ResourceManager::Get();
|
||||
manager.Initialize();
|
||||
|
||||
EXPECT_NE(manager.GetLoader(ResourceType::AudioClip), nullptr);
|
||||
|
||||
manager.Shutdown();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user