public void op_Verify_IRepository()
        {
            var obj = new RepositoryQueryExpression<RandomObject>();

            var records = new[]
                              {
                                  obj.Record1,
                                  obj.Record2
                              };

            var repository = new Mock<IRepository<RandomObject>>();
            repository
                .Setup(x => x.Insert(obj.Record1))
                .Returns(obj.Record1)
                .Verifiable();
            repository
                .Setup(x => x.Insert(obj.Record2))
                .Returns(obj.Record2)
                .Verifiable();
            repository
                .Setup(x => x.Query(It.IsAny<XPathExpression>()))
                .Returns(records)
                .Verifiable();

            obj.Verify(repository.Object);

            repository.VerifyAll();
        }
        public void op_Verify_IRepository_whenEmptyResults()
        {
            var obj = new RepositoryQueryExpression<RandomObject>();

            var records = new List<IRecord<RandomObject>>();

            var repository = new Mock<IRepository<RandomObject>>();
            repository
                .Setup(x => x.Insert(obj.Record1))
                .Returns(obj.Record1)
                .Verifiable();
            repository
                .Setup(x => x.Insert(obj.Record2))
                .Returns(obj.Record2)
                .Verifiable();
            repository
                .Setup(x => x.Query(It.IsAny<XPathExpression>()))
                .Returns(records)
                .Verifiable();

            Assert.Throws<RepositoryTestException>(() => obj.Verify(repository.Object));

            repository.VerifyAll();
        }