public void ConvertBasicAccessorExpression () { var item = new Mock<ISimpleDbItem> (); var methodCallExp = Expression.Call( Expression.Constant(item.Object), typeof(ISimpleDbItem).GetMethod ("get_Item"), Expression.Constant ("TestAttribute")); var mapper = new IndexedAttributeMapperAccessor (); var mappedAttribute = mapper.AccessVisitMethodCall (methodCallExp); Assert.IsNotNull (mappedAttribute); Assert.IsInstanceOf<AttributeExpression> (mappedAttribute); Assert.AreEqual ("TestAttribute", ((AttributeExpression)mappedAttribute).Name); }
public void SkipNonAccessorExpression() { var item = new Mock<ISimpleDbItem> (); var methodCallExp = Expression.Call ( Expression.Constant (item.Object), typeof(object).GetMethod ("ToString")); var mapper = new IndexedAttributeMapperAccessor (); var returnExpression = mapper.AccessVisitMethodCall (methodCallExp); Assert.IsNotNull (returnExpression); Assert.IsInstanceOf<MethodCallExpression> (returnExpression); Assert.IsInstanceOf<ConstantExpression> (((MethodCallExpression)returnExpression).Object); Assert.AreEqual (item.Object, ((ConstantExpression)((MethodCallExpression)returnExpression).Object).Value); Assert.AreEqual ( typeof(object).GetMethod ("ToString"), ((MethodCallExpression)returnExpression).Method); }