Esempio n. 1
0
        // private methods
        private IAggregateFluent <C> CreateSubject(IClientSessionHandle session = null)
        {
            var mockDatabase = new Mock <IMongoDatabase>();

            SetupDatabaseGetCollectionMethod <C>(mockDatabase);

            var settings = new MongoCollectionSettings();

            _mockCollection = new Mock <IMongoCollection <C> >();
            _mockCollection.SetupGet(c => c.Database).Returns(mockDatabase.Object);
            _mockCollection.SetupGet(c => c.DocumentSerializer).Returns(settings.SerializerRegistry.GetSerializer <C>());
            _mockCollection.SetupGet(c => c.Settings).Returns(settings);
            var options = new AggregateOptions();
            var subject = new CollectionAggregateFluent <C, C>(session, _mockCollection.Object, new EmptyPipelineDefinition <C>(), options);

            return(subject);
        }
Esempio n. 2
0
        public static IMongoCollection <TDocument> _collection <TDocument, TResult>(this CollectionAggregateFluent <TDocument, TResult> obj)
        {
            var fieldInfo = typeof(CollectionAggregateFluent <TDocument, TResult>).GetField("_collection", BindingFlags.NonPublic | BindingFlags.Instance);

            return((IMongoCollection <TDocument>)fieldInfo.GetValue(obj));
        }