public void FunctionNode_should_accept_visitor()
{
visitor.Setup(v => v.StartVisit(It.IsAny<FunctionNode>())).Verifiable();
visitor.Setup(v => v.EndVisit()).Verifiable();
Mock<IFilterNode> first = new Mock<IFilterNode>();
first.Setup(f => f.Accept(It.IsAny<IFilterNodeVisitor>())).Verifiable();
FunctionNode functionNode = new FunctionNode
{
Arguments = { first.Object }
};
functionNode.Accept(visitor.Object);
visitor.VerifyAll();
first.Verify();
}