public void CheckAndConvertEquivalentProperty_ReturnsTypedActualValue() { var expected = new DateTime(2013, 04, 10); object actual = new DateTime(2013, 04, 10, 10, 28, 10); var result = StoragePropertyDefinitionUnificationUtility.CheckAndConvertEquivalentProperty( expected, actual, "param", item => Tuple.Create <string, object> ("Year", item.Year)); Assert.That(VariableTypeInferrer.GetVariableType(result), Is.SameAs(typeof(DateTime))); Assert.That(result, Is.EqualTo(actual)); }
public void CheckAndConvertEquivalentProperty_ThrowsOnPropertyMismatch() { var expected = new DateTime(2013, 04, 10); object actual = new DateTime(2014, 04, 10, 10, 28, 10); Assert.That( () => StoragePropertyDefinitionUnificationUtility.CheckAndConvertEquivalentProperty( expected, actual, "param", item => Tuple.Create <string, object> ("Year", item.Year)), Throws.ArgumentException.With.Message.EqualTo( "Only equivalent properties can be combined, but this property has Year '2013', and the given property has Year '2014'.\r\n" + "Parameter name: param")); }