static void Run(byte[] payload, Action <AssertingVisitor> prepare) { var visitor = new AssertingVisitor(0); prepare(visitor); visitor.Record(); Visitor.Visit(ref visitor, new Memory <byte>(payload)); visitor.Assert(); }
/// <summary> /// Compares two Linq Expressions. /// </summary> public static void AreEqual(Expression result, Expression expected) { var xType = result == null ? null : result.GetType(); var yType = expected == null ? null : expected.GetType(); if (xType == null && yType == null) { return; } else if (xType == yType) { var assertingVisitor = new AssertingVisitor(expected); assertingVisitor.Visit(result); } else { Assert.That(xType, Is.EqualTo(yType)); } }