feat(domain): add core enums (NdiSourceKind, IsoState, AspectMode, AudioMode, TargetFramerate, TargetResolution)
Some checks failed
CI / build-and-test (push) Failing after 23s

This commit is contained in:
Zac Gaetano 2026-05-07 15:10:29 +00:00
parent 5ac0a50afe
commit b07e3e78e0
3 changed files with 93 additions and 0 deletions

View file

@ -0,0 +1,51 @@
namespace TeamsISO.Engine.Domain;
public enum NdiSourceKind
{
Participant,
ActiveSpeaker,
Audio,
ScreenShare
}
public enum IsoState
{
Idle,
Receiving,
Sending,
NoSignal,
Error
}
public enum AspectMode
{
Pillarbox,
Letterbox,
Stretch
}
public enum AudioMode
{
Auto,
Isolated,
Mixed
}
public enum TargetFramerate
{
Fps23_976,
Fps24,
Fps25,
Fps29_97,
Fps30,
Fps50,
Fps59_94,
Fps60
}
public enum TargetResolution
{
R720p,
R1080p,
R4K
}

View file

@ -0,0 +1,40 @@
using TeamsISO.Engine.Domain;
namespace TeamsISO.Engine.Tests.Domain;
public class EnumSanityTests
{
[Fact]
public void NdiSourceKind_HasExpectedMembers()
{
var values = Enum.GetValues<NdiSourceKind>();
values.Should().Contain(new[]
{
NdiSourceKind.Participant,
NdiSourceKind.ActiveSpeaker,
NdiSourceKind.Audio,
NdiSourceKind.ScreenShare
});
}
[Fact]
public void IsoState_HasExpectedMembers()
{
var values = Enum.GetValues<IsoState>();
values.Should().Contain(new[]
{
IsoState.Idle,
IsoState.Receiving,
IsoState.Sending,
IsoState.NoSignal,
IsoState.Error
});
}
[Fact]
public void TargetFramerate_HasAllSupportedRates()
{
var values = Enum.GetValues<TargetFramerate>();
values.Should().HaveCount(8);
}
}

View file

@ -0,0 +1,2 @@
global using FluentAssertions;
global using Xunit;