public void GetPropertyValue_MemberExpression_IsNotNull() { Expression<Func<FakeTestItem, object>> expression = item => item.TestInt; var fakeTestItem = new FakeTestItem { TestInt = 32 }; var actual = fakeTestItem.GetPropertyValue(expression.GetPropertyName()); Assert.AreEqual(32, actual); }
public void GetPropertyValue_ExistingProperty_MatchesExpected() { var propertyInfo = typeof(FakeTestItem).GetProperty("TestString"); var entity = new FakeTestItem { TestInt = 12, TestString = "Test" }; const string Expected = "Test"; var actual = propertyInfo.GetPropertyValue(entity); Assert.AreEqual(Expected, Convert.ToString(actual, CultureInfo.CurrentCulture)); }
public void Equals_RightNullWithParameters_ReturnsFalse() { var valueA = new FakeTestItem { TestDateTime = DateTime.Now, TestInt = 290, TestString = "blah" }; var actual = Evaluate.Equals(valueA, null, item => item.TestDateTime, item => item.TestInt, item => item.TestString); Assert.IsFalse(actual); }
public void Equals_LeftNull_ReturnsFalse() { var valueB = new FakeTestItem { TestDateTime = DateTime.Now, TestInt = 290, TestString = "blah" }; var actual = Evaluate.Equals(null, valueB); Assert.IsFalse(actual); }
public void IsNull_SetValue_ReturnsFalse() { var value = new FakeTestItem { TestInt = 1, TestString = "blah" }; var actual = Evaluate.IsDefaultValue(value); Assert.AreEqual(false, actual); }
public void GetDifferences_AllValuesEqual_ReturnsEmpty() { var baseline = new FakeTestItem { TestInt = 20, TestString = "TestString" }; var comparison = new FakeTestItem { TestInt = 20, TestString = "TestString" }; var propertiesToCompare = Array.Empty<string>(); IEnumerable<PropertyComparisonResult> expected = new List<PropertyComparisonResult>(); var actual = baseline.GetDifferences(comparison, propertiesToCompare); CollectionAssert.AreEqual(expected.ToList(), actual.ToList()); }
public void GetHashCode_TestObject_ReturnsHashCode() { var value = new FakeTestItem { TestInt = 23252, TestString = "SomeString" }; var expected = value.GetHashCode(); var actual = Evaluate.GetHashCode(value); Assert.AreEqual(expected, actual); }
public void Equals_TestObjectsWithEqualProperties_ReturnsTrue() { var valueA = new FakeTestItem { TestString = "test", TestInt = 1 }; var valueB = new FakeTestItem { TestString = "test", TestInt = 1 }; var actual = Evaluate.Equals(valueA, valueB); Assert.IsTrue(actual); }
public void Equals_TestObjectsWithSpecificEqualProperties_ReturnsTrue() { var valueA = new FakeTestItem { TestString = "test", TestInt = 1, TestDateTime = DateTime.MinValue }; var valueB = new FakeTestItem { TestString = "test", TestInt = 4, TestDateTime = DateTime.MinValue }; var actual = Evaluate.Equals(valueA, valueB, o => o.TestString, o => o.TestDateTime); Assert.AreEqual(true, actual); }
public void GetDifferences_AllValuesDifferent_MatchesExpected() { var baseline = new FakeTestItem { TestInt = 20, TestString = "TestString" }; var comparison = new FakeTestItem { TestInt = 21, TestString = "TestString2" }; var propertiesToCompare = Array.Empty<string>(); var expected = new List<PropertyComparisonResult> { new PropertyComparisonResult("TestInt", 20, 21), new PropertyComparisonResult("TestString", "TestString", "TestString2") }; var actual = baseline.GetDifferences(comparison, propertiesToCompare).ToList(); CollectionAssert.AreEqual(expected, actual); }
public void GetDifferences_AllValuesDifferentWithSpecifiedProperties_MatchesExpected() { var baseline = new FakeTestItem { TestDateTime = DateTime.MinValue, TestInt = 20, TestString = "TestString" }; var comparison = new FakeTestItem { TestDateTime = DateTime.MaxValue, TestInt = 21, TestString = "TestString2" }; var propertiesToCompare = new[] { "TestInt", "TestString" }; IEnumerable<PropertyComparisonResult> expected = new List<PropertyComparisonResult> { new PropertyComparisonResult("TestInt", 20, 21), new PropertyComparisonResult("TestString", "TestString", "TestString2") }; IEnumerable<PropertyComparisonResult> actual = baseline.GetDifferences(comparison, propertiesToCompare); CollectionAssert.AreEqual(expected.ToList(), actual.ToList()); }
public void GenerateHashCode_WithSelectors_MatchesExpected() { var item = new FakeTestItem { TestDateTime = DateTime.Today, TestInt = 2342, TestString = "asdsdfa2342345" }; IEnumerable <Func <FakeTestItem, object> > selectors = new Func <FakeTestItem, object>[] { dest => dest.TestDateTime, dest => dest.TestInt, dest => dest.TestString }; var expected = new object[] { item.TestDateTime, item.TestInt, item.TestString }.Aggregate( 0, (i, o) => (i * 397) + Evaluate.GetHashCode(o)); var actual = Evaluate.GenerateHashCode(item, selectors); Assert.AreEqual(expected, actual); }
public void PopulateDictionary_TestObjectAllProperties_MatchesExpected() { var item = new FakeTestItem { TestDateTime = DateTime.Today, TestInt = 23, TestString = "Test String" }; IDictionary<string, object> expected = new Dictionary<string, object> { { "{Item}", item }, { "TestDateTime", item.TestDateTime }, { "TestInt", item.TestInt }, { "TestList", item.TestList }, { "TestString", item.TestString } }; var actual = new Dictionary<string, object>(); actual.PopulateDictionary(item); string Func(KeyValuePair<string, object> x) => $"{x.Key}={x.Value}"; var expectedCollection = expected.Select(Func).ToList(); var actualCollection = actual.Select(Func).ToList(); CollectionAssert.AreEqual(expectedCollection, actualCollection); }
public void RecursiveEquals_UnequalObjectsByList_ReturnsFalse() { var valueA = new FakeTestItem { TestString = "test", TestInt = 1, TestDateTime = DateTime.MinValue }; valueA.AddItem("Test1"); valueA.AddItem("Test2"); valueA.AddItem("Test3"); var valueB = new FakeTestItem { TestString = "test", TestInt = 1, TestDateTime = DateTime.MinValue }; valueB.AddItem("Test1"); valueB.AddItem("Test2"); valueB.AddItem("Test4"); var actual = Evaluate.RecursiveEquals(valueA, valueB); Assert.IsFalse(actual); }