public void GroupBy()
        {
            Expression <Func <Customer, string> > selector = x => x.Name;
            Expression <Func <string, IEnumerable <Customer>, string> > grouping = (key, g) => key;
            var options = new QueryOptions <Customer>();

            var mock = new Mock <IService <Customer> >();

            mock.Setup(x => x.GetGroupBy(It.IsAny <Expression <Func <Customer, string> > >(), It.IsAny <Expression <Func <string, IEnumerable <Customer>, string> > >()));
            mock.Setup(x => x.GetGroupBy(It.IsAny <IQueryOptions <Customer> >(), It.IsAny <Expression <Func <Customer, string> > >(), It.IsAny <Expression <Func <string, IEnumerable <Customer>, string> > >()));

            var readOnlyService = new ReadOnlyServiceWrapper <Customer, int>(mock.Object);

            readOnlyService.GetGroupBy(selector, grouping);
            readOnlyService.GetGroupBy(options, selector, grouping);

            mock.Verify(x => x.GetGroupBy(selector, grouping), Times.Once);
            mock.Verify(x => x.GetGroupBy(options, selector, grouping), Times.Once);
        }