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); } }