// 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); }
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)); }