using Microsoft.VisualStudio.TestTools.UnitTesting; using SyncEngine.Sync; namespace SyncEngine.Tests { [TestClass] public class ChangeDetectorTests { [TestMethod] public void ComputeRowHash_IsStableForSameValues() { var a = ChangeDetector.ComputeRowHash(new object[] { "A", 1, null }); var b = ChangeDetector.ComputeRowHash(new object[] { "A", 1, null }); Assert.AreEqual(a, b); } [TestMethod] public void ComputeRowHash_ChangesWhenValueChanges() { var a = ChangeDetector.ComputeRowHash(new object[] { "A" }); var b = ChangeDetector.ComputeRowHash(new object[] { "B" }); Assert.AreNotEqual(a, b); } [TestMethod] public void Normalize_TrimsWhitespace() { Assert.AreEqual("x", ChangeDetector.Normalize(" x ")); } [TestMethod] public void Normalize_DecimalUsesInvariantCulture() { Assert.AreEqual("12.5", ChangeDetector.Normalize(12.5m)); } } }