private void DoAgentBuyTestsAsserts(decimal limit, decimal price, string symbol, int bookerCalledCount)
        {
            bookingStrategy = new Mock<IBookingStrategy>();
            bookingStrategy.Setup(x => x.ShouldBuy(price, symbol))
                .Returns(price < limit);

            booker = new Mock<IBooker>();
            Agent agent = new Agent(booker.Object, bookingStrategy.Object);
            agent.Book(price, symbol);
            booker.Verify(foo => foo.Buy(symbol), Times.Exactly(bookerCalledCount));
        }