Add project reference for TeleWave.Infrastructure: include TeleWave.Infrastructure.csproj in TeleWave.Application.Tests project to support additional testing capabilities.

This commit is contained in:
Leonid Pershin
2026-07-25 20:12:04 +03:00
parent ed240ef73c
commit 4611f90d11
18 changed files with 2027 additions and 0 deletions
@@ -0,0 +1,55 @@
using TeleWave.Domain.Broadcast;
using Xunit;
namespace TeleWave.Domain.Tests.Broadcast;
public class BumperTextVariantTests
{
private static BumperTextVariant NewVariant() =>
Channel
.Create("c", "c", DateTimeOffset.UnixEpoch)
.AddBumperTemplate("b")
.AddVariant("Text");
[Fact]
public void Create_HasDefaultLabelsAndWeight()
{
var v = NewVariant();
Assert.Equal(BumperTextKind.NowNext, v.Kind);
Assert.Equal(BumperTextVariant.DefaultNowLabel, v.NowLabel);
Assert.Equal(BumperTextVariant.DefaultNextLabel, v.NextLabel);
Assert.Equal(BumperTextVariant.DefaultWeight, v.Weight);
Assert.Equal(string.Empty, v.Line1);
}
[Fact]
public void Update_SetsFields_AndClampsNegativeWeightToZero()
{
var v = NewVariant();
v.Update("Name", BumperTextKind.Free, "NOW", "NEXT", "l1", "l2", BumperTrigger.Both, -5);
Assert.Equal("Name", v.Name);
Assert.Equal(BumperTextKind.Free, v.Kind);
Assert.Equal("NOW", v.NowLabel);
Assert.Equal("l1", v.Line1);
Assert.Equal(BumperTrigger.Both, v.Trigger);
Assert.Equal(0, v.Weight);
}
[Theory]
[InlineData(BumperTrigger.OnShowChange, true, true)]
[InlineData(BumperTrigger.OnShowChange, false, false)]
[InlineData(BumperTrigger.BetweenEpisodes, true, false)]
[InlineData(BumperTrigger.BetweenEpisodes, false, true)]
[InlineData(BumperTrigger.Both, true, true)]
[InlineData(BumperTrigger.Both, false, true)]
public void Matches_FollowsTrigger(BumperTrigger trigger, bool isShowChange, bool expected)
{
var v = NewVariant();
v.Update("n", BumperTextKind.NowNext, "a", "b", "", "", trigger, 1);
Assert.Equal(expected, v.Matches(isShowChange));
}
}