public void Test_Not_Method_Call_Expression_Should_Not_Fail() { // Arrange var expression = (Expression<Action<ILogger>>) (l => l.DummyProperty.ToString()); var parser = new ExpressionsParser(); // Act var expected = parser.Parse(expression); // Assert Assert.IsNotNull(expected, "Parser should parse property access expressions."); }
public void Test_Non_Dependencies_Method_Call_Should_Not_Fail() { // Arrange var expression = (Expression<Action<ILogger>>) (l => Console.WriteLine("Oops!")); var parser = new ExpressionsParser(); // Act var expected = parser.Parse(expression); // Assert Assert.IsNotNull(expected, "Parser should parse expressions with other calls as well."); }
public void Test_Parse_Returns_Valid_CallExpression() { // Arrange var expression = (Expression<Action<ILogger>>)(l => l.Write(1, 2.0)); var parser = new ExpressionsParser(); // Act var result = parser.Parse(expression); Console.WriteLine("Expression as string: {0}", result.CallExpression); // Assert Assert.That(result.CallExpression.Contains("l.Write")); }
public void Test_Parse_Two_Arguments() { // Arrange var expression = (Expression<Action<ILogger>>)(l => l.Write(1, 2.0)); var parser = new ExpressionsParser(); // Act var result = parser.Parse(expression); // Assert Assert.That(result.Arguments.Length, Is.EqualTo(2)); Assert.That(result.Arguments[0], Is.EqualTo(new SingleArgumentValue(1))); Assert.That(result.Arguments[1], Is.EqualTo(new SingleArgumentValue(2.0))); }
public void Test_Parse_Simple_Expression() { // Arrange var expression = (Expression<Action<ILogger>>)(l => l.Write()); var parser = new ExpressionsParser(); // Act var result = parser.Parse(expression); // Assert Assert.That(result.Method.Name, Is.EqualTo("Write")); CollectionAssert.IsEmpty(result.Arguments); Assert.That(result.Times, Is.EqualTo(Times.Once())); }
public void Setup() { // Arrange var expression = (Expression<Action<ILogger>>)(l => l.Write()); var parser = new ExpressionsParser(); // Act _expectedCall = parser.Parse(expression); }
public ArgumentValue Parse_Arguments_For_Func_Expression(Expression<Func<ILogger, int>> expression) { // Arrange var parser = new ExpressionsParser(); // Act & Assert return parser.Parse(expression).Arguments[0]; }