public DomainObjectQueryExecutor(StorageProviderDefinition storageProviderDefinition, IDomainObjectQueryGenerator queryGenerator)
        {
            ArgumentUtility.CheckNotNull("storageProviderDefinition", storageProviderDefinition);
            ArgumentUtility.CheckNotNull("queryGenerator", queryGenerator);

            _storageProviderDefinition = storageProviderDefinition;
            _queryGenerator            = queryGenerator;
        }
        public override void SetUp()
        {
            base.SetUp();

            _queryGeneratorMock = MockRepository.GenerateStrictMock <IDomainObjectQueryGenerator>();
            _queryExecutor      = new DomainObjectQueryExecutor(TestDomainStorageProviderDefinition, _queryGeneratorMock);

            _queryManagerMock = MockRepository.GenerateStrictMock <IQueryManager> ();
            var transaction = ClientTransactionObjectMother.CreateTransactionWithQueryManager <ClientTransaction> (_queryManagerMock);

            _transactionScope = transaction.EnterDiscardingScope();

            _someQueryModel = QueryModelObjectMother.Create();
            MockRepository.GenerateStub <IQuery>();
            _someOrder = DomainObjectMother.CreateFakeObject <Order>();

            _scalarExecutableQueryMock     = MockRepository.GenerateStrictMock <IExecutableQuery <int> >();
            _collectionExecutableQueryMock = MockRepository.GenerateStrictMock <IExecutableQuery <IEnumerable <Order> > > ();
        }