using Xunit; using ytLive.Models; namespace ytLive.Tests; public class SourceTextSettingsTests { [Fact] public void Text_Layer_Settings_Have_Safe_Defaults() { var source = new Source { Type = SourceType.TextOverlay }; Assert.Equal("Text", source.TextContent); Assert.Equal("Segoe UI", source.TextFontFamily); Assert.Equal(48, source.TextFontSize); Assert.Equal("#FFFFFF", source.TextColor); Assert.False(source.TextBold); Assert.False(source.TextItalic); Assert.False(source.TextUnderline); Assert.Equal(TextLayerAlignment.Left, source.TextAlignment); } [Fact] public void Text_Layer_Settings_Normalize_Invalid_Values() { var source = new Source { TextFontFamily = " ", TextFontSize = double.NaN, TextColor = "not-a-color", TextAlignment = (TextLayerAlignment)999, }; Assert.Equal("Segoe UI", source.TextFontFamily); Assert.Equal(48, source.TextFontSize); Assert.Equal("#FFFFFF", source.TextColor); Assert.Equal(TextLayerAlignment.Left, source.TextAlignment); source.TextFontSize = 1; Assert.Equal(8, source.TextFontSize); source.TextFontSize = 1000; Assert.Equal(300, source.TextFontSize); source.TextColor = "#abcdef"; Assert.Equal("#ABCDEF", source.TextColor); } }