public List <T> Assert <T>(IMongoCollection <T> collection, Expression <Func <T, bool> > filter, int expectedCount, BsonDocument expectedFilter) { var serializer = BsonSerializer.SerializerRegistry.GetSerializer <T>(); var filterDocument = PredicateTranslator.Translate(filter, serializer, BsonSerializer.SerializerRegistry); var list = collection.FindSync(filterDocument).ToList(); filterDocument.Should().Be(expectedFilter); list.Count.Should().Be(expectedCount); return(list); }
public void Assert(Expression <Func <Root, bool> > filter, int expectedCount, BsonDocument expectedFilter) { var serializer = BsonSerializer.SerializerRegistry.GetSerializer <Root>(); var filterDocument = PredicateTranslator.Translate(filter, serializer, BsonSerializer.SerializerRegistry); using (var cursor = _collection.FindAsync(filterDocument).GetAwaiter().GetResult()) { var list = cursor.ToListAsync().GetAwaiter().GetResult(); filterDocument.Should().Be(expectedFilter); list.Count.Should().Be(expectedCount); } }
// public methods /// <summary> /// Creates an IMongoQuery from the where clause (returns null if no where clause was specified). /// </summary> /// <returns>An IMongoQuery.</returns> public IMongoQuery BuildQuery() { if (_where == null) { return(null); } // TODO: check lambda for proper type var predicateTranslator = new PredicateTranslator(_serializationInfoHelper); var body = _where.Body; return(predicateTranslator.BuildQuery(body)); }
/// <inheritdoc /> public override BsonDocument Render(IBsonSerializer <TDocument> documentSerializer, IBsonSerializerRegistry serializerRegistry) { return(PredicateTranslator.Translate <TDocument>(_expression, documentSerializer, serializerRegistry)); }
// public methods /// <summary> /// Creates an IMongoQuery from the where clause (returns null if no where clause was specified). /// </summary> /// <returns>An IMongoQuery.</returns> public ISequoiaQuery BuildQuery() { if (_where == null) { return null; } // TODO: check lambda for proper type var predicateTranslator = new PredicateTranslator(_serializationInfoHelper); var body = _where.Body; return predicateTranslator.BuildQuery(body); }
/// <summary> /// Initializes a new instance of the <see cref="QueryBuilder<TDocument>"/> class. /// </summary> /// <param name="serializationInfoHelper">The serialization info helper.</param> internal QueryBuilder(BsonSerializationInfoHelper serializationInfoHelper) { _serializationInfoHelper = serializationInfoHelper; _predicateTranslator = new PredicateTranslator(_serializationInfoHelper); }