using System; using Junction.Domain.Models; using Xunit; namespace Junction.Tests.Unit { public class DataItemTests { [Fact] public void Ctor_HoldsAllValues() { var ts = DateTimeOffset.UtcNow; var item = new DataItem("id1", "Temperature", "42.5", "Sample", ts); Assert.Equal("id1", item.Id); Assert.Equal("Temperature", item.Name); Assert.Equal("42.5", item.Value); Assert.Equal("Sample", item.Category); Assert.Equal(ts, item.Timestamp); } [Fact] public void Ctor_NullStrings_DefaultToEmpty() { var item = new DataItem(null!, null!, null!, null!, DateTimeOffset.UtcNow); Assert.Equal("", item.Id); Assert.Equal("", item.Name); Assert.Equal("", item.Value); Assert.Equal("", item.Category); } [Fact] public void Properties_AreGetOnly() { var props = typeof(DataItem).GetProperties(); Assert.All(props, p => Assert.Null(p.SetMethod)); } } }