Public Access
55 lines
1.7 KiB
C#
55 lines
1.7 KiB
C#
using MeetingAssistant.Recording;
|
|
|
|
namespace MeetingAssistant.Tests;
|
|
|
|
public sealed class MicrophoneSelectionTests
|
|
{
|
|
[Fact]
|
|
public void BlankConfiguredMicrophoneUsesDefaultDevice()
|
|
{
|
|
var selection = new MicrophoneDeviceSelection();
|
|
|
|
var selected = selection.Resolve(
|
|
configuredDeviceId: null,
|
|
new MicrophoneDevice("default-id", "default microphone"),
|
|
[
|
|
new MicrophoneDevice("default-id", "default microphone"),
|
|
new MicrophoneDevice("other-id", "other microphone")
|
|
]);
|
|
|
|
Assert.Equal("default-id", selected?.Id);
|
|
}
|
|
|
|
[Fact]
|
|
public void ConfiguredMicrophoneUsesMatchingDevice()
|
|
{
|
|
var selection = new MicrophoneDeviceSelection();
|
|
var selected = selection.Resolve(
|
|
"other-id",
|
|
new MicrophoneDevice("default-id", "default microphone"),
|
|
[
|
|
new MicrophoneDevice("default-id", "default microphone"),
|
|
new MicrophoneDevice("other-id", "other microphone")
|
|
]);
|
|
|
|
Assert.Equal("other-id", selected?.Id);
|
|
}
|
|
|
|
[Fact]
|
|
public void RuntimeMicrophoneSelectionOverridesConfiguredDevice()
|
|
{
|
|
var selection = new MicrophoneDeviceSelection();
|
|
selection.Select("runtime-id");
|
|
|
|
var selected = selection.Resolve(
|
|
"configured-id",
|
|
new MicrophoneDevice("default-id", "default microphone"),
|
|
[
|
|
new MicrophoneDevice("configured-id", "configured microphone"),
|
|
new MicrophoneDevice("runtime-id", "runtime microphone")
|
|
]);
|
|
|
|
Assert.Equal("runtime-id", selected?.Id);
|
|
}
|
|
}
|