initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
#include "audio/audio_manager.h"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
using namespace radiantwave::audio;
|
||||
|
||||
TEST(AudioTest, FriendlyDeviceNameMapping) {
|
||||
EXPECT_EQ(mapToFriendlyDeviceName("alsa_output.pci-0000_00_1f.3.analog-stereo"), "Built-In Speakers");
|
||||
EXPECT_EQ(mapToFriendlyDeviceName("AMD Radeon HD Audio Controller HDMI"), "TV / HDMI Monitor");
|
||||
EXPECT_EQ(mapToFriendlyDeviceName("USB Audio Headset Dongle"), "USB Audio Device");
|
||||
EXPECT_EQ(mapToFriendlyDeviceName("bluez_sink.00_11_22_33_44_55"), "Bluetooth Audio");
|
||||
EXPECT_EQ(mapToFriendlyDeviceName(""), "Default Audio Output");
|
||||
}
|
||||
|
||||
TEST(AudioTest, AudioManagerVolumeClamping) {
|
||||
radiantwave::config::ConfigManager config;
|
||||
std::string temp_path = (std::filesystem::temp_directory_path() / "test_rw_audio_cfg.yaml").string();
|
||||
if (std::filesystem::exists(temp_path)) {
|
||||
std::filesystem::remove(temp_path);
|
||||
}
|
||||
|
||||
ASSERT_TRUE(config.initialize(temp_path));
|
||||
|
||||
AudioManager am;
|
||||
// Test initialization without audio device (graceful fallback)
|
||||
am.initialize(config);
|
||||
|
||||
am.setVolume(150);
|
||||
EXPECT_EQ(am.getVolume(), 100);
|
||||
|
||||
am.setVolume(-20);
|
||||
EXPECT_EQ(am.getVolume(), 0);
|
||||
|
||||
am.setVolume(75);
|
||||
EXPECT_EQ(am.getVolume(), 75);
|
||||
|
||||
am.shutdown();
|
||||
std::filesystem::remove(temp_path);
|
||||
}
|
||||
Reference in New Issue
Block a user