using System; using NUnit.Framework; namespace ChadSoft.Data { [TestFixture] public class PropertyComparisonCriteriaTests { private class TestClass { public int ID { get; set; } public string Name { get; set; } public DateTime DateTime { get; set; } public Decimal Decimal { get; set; } } [Test] public void ShouldReturnTrueForSameIntProperties() { var x = new TestClass { ID = 1 }; var y = new TestClass { ID = 1 }; Assert.IsTrue(new PropertyComparisonCriteria(x).IsMatch(y)); } [Test] public void ShouldReturnTrueForSameStringProperties() { var x = new TestClass { Name = "Test" }; var y = new TestClass { Name = "Test" }; Assert.IsTrue(new PropertyComparisonCriteria(x).IsMatch(y)); } [Test] public void ShouldReturnFalseForNullInstance() { Assert.IsFalse(new PropertyComparisonCriteria(null).IsMatch(new object())); } [Test] public void ShouldReturnFalseForNullComparison() { Assert.IsFalse(new PropertyComparisonCriteria(new object()).IsMatch(null)); } } }