Remotion.Linq.SqlBackend.SqlPreparation.CompoundMethodCallTransformerProvider.GetTransformer C# (CSharp) Метод

GetTransformer() публичный Метод

public GetTransformer ( MethodCallExpression methodCallExpression ) : IMethodCallTransformer
methodCallExpression System.Linq.Expressions.MethodCallExpression
Результат IMethodCallTransformer
    public IMethodCallTransformer GetTransformer (MethodCallExpression methodCallExpression)
    {
      ArgumentUtility.CheckNotNull ("methodCallExpression", methodCallExpression);

      return _providers
        .Select (methodCallTransformerRegistry => methodCallTransformerRegistry.GetTransformer (methodCallExpression))
        .FirstOrDefault (transformer => transformer != null);
    }
  }

Usage Example

    public void GetTransformer ()
    {
      var registryMock = MockRepository.GenerateStrictMock<IMethodCallTransformerProvider>();
      var methodCallTransformerRegistry = new CompoundMethodCallTransformerProvider (registryMock);
      var methodCallExpression = ExpressionHelper.CreateMethodCallExpression<Cook>();
      var fakeTransformer = new ContainsFulltextMethodCallTransformer();

      registryMock
          .Expect (mock => mock.GetTransformer (methodCallExpression))
          .Return (fakeTransformer);
      registryMock.Replay();

      var result = methodCallTransformerRegistry.GetTransformer (methodCallExpression);

      registryMock.VerifyAllExpectations();
      Assert.That (result, Is.SameAs (fakeTransformer));
    }