using Junction.App.ViewModels; using Xunit; namespace Junction.Tests.Unit { /// /// Data-level tests for the culture-invariant numeric parse that decides whether a datum can /// feed the trend sparkline. Pure static helper — no Avalonia platform required. /// public class DataItemRowViewModelTests { [Theory] [InlineData("12.5", 12.5)] [InlineData(" 3 ", 3)] [InlineData("1000", 1000)] [InlineData("-4.25", -4.25)] public void TryParseNumeric_Numeric_ReturnsTrueWithInvariantValue(string input, double expected) { var ok = DataItemRowViewModel.TryParseNumeric(input, out var result); Assert.True(ok); Assert.Equal(expected, result); } [Theory] [InlineData("")] [InlineData(" ")] [InlineData("abc")] [InlineData("ON")] [InlineData("AVAILABLE")] [InlineData(null)] public void TryParseNumeric_NonNumeric_ReturnsFalse(string? input) { var ok = DataItemRowViewModel.TryParseNumeric(input, out _); Assert.False(ok); } } }