public Translate ( |
||
method | ||
result | ITranslationResult | |
return | void |
public void Translate(MethodCallExpression method, ITranslationResult result)
{
if (method.Method.Name != MethodName || method.Arguments.Count != 2)
{
var message = string.Format(Resources.TranslatorMemberNotSupported, method.NodeType);
throw new ArgumentOutOfRangeException(nameof(method), message);
}
var constant = (ConstantExpression) method.Arguments[1];
result.AddTop((int) constant.Value);
}
}
public void TakeWithInvalidMethod() { // Arrange var translator = new TakeTranslator(); IQueryable<Country> query = GetQueryable().Where(p => p.Name == string.Empty); var translation = new TranslationResult(); // Act Assert.Throws<ArgumentOutOfRangeException>(() => translator.Translate((MethodCallExpression) query.Expression, translation)); // Assert Assert.NotNull(translation.TableQuery); Assert.Null(translation.TableQuery.TakeCount); }