Exemple #1
0
 public MatchOperation(IPipelineStageDefinition pipelineStageDefinition,
                       IBsonSerializer <TDocument> bsonSerializer,
                       ICollection <BsonDocument> documents)
 {
     _pipelineStageDefinition = pipelineStageDefinition;
     _bsonSerializer          = bsonSerializer;
     _documents = documents;
 }
Exemple #2
0
 public UpdateOperationParser(IPipelineStageDefinition pipelineStageDefinition,
                              IBsonSerializer <TDocument> bsonSerializer,
                              ICollection <BsonDocument> documents)
 {
     _pipelineStageDefinition = pipelineStageDefinition;
     _bsonSerializer          = bsonSerializer;
     _documents  = documents;
     _operations = CreateOperationParsers();
 }
        private ICollection <BsonDocument> ExecuteAggregateOperation(
            IPipelineStageDefinition pipelineStageDefinition,
            IBsonSerializer <TDocument> bsonSerializer,
            ICollection <BsonDocument> documents)
        {
            var processor = new UpdateOperationParser <TDocument>(pipelineStageDefinition, bsonSerializer, documents);

            return(processor.Execute());
        }
        public void Constructor_should_verify_the_inputs_and_outputs_of_the_stages()
        {
            var stages = new IPipelineStageDefinition[]
            {
                new BsonDocumentPipelineStageDefinition <Person, BsonDocument>(new BsonDocument()),
                new BsonDocumentPipelineStageDefinition <BsonDocument, Pet>(new BsonDocument()),
                new BsonDocumentPipelineStageDefinition <Pet, Person>(new BsonDocument())
            };

            Action act = () => new PipelineStagePipelineDefinition <Person, Person>(stages);

            act.ShouldNotThrow <ArgumentException>();
        }
        public void Constructor_should_verify_the_inputs_and_outputs_of_the_stages_and_throw_when_final_stage_is_invalid()
        {
            var stages = new IPipelineStageDefinition[]
            {
                new BsonDocumentPipelineStageDefinition <Person, BsonDocument>(new BsonDocument()),
                new BsonDocumentPipelineStageDefinition <BsonDocument, Pet>(new BsonDocument()),
                new BsonDocumentPipelineStageDefinition <Pet, BsonDocument>(new BsonDocument())
            };

            var exception = Record.Exception(() => new PipelineStagePipelineDefinition <Person, Person>(stages));

            var e = exception.Should().BeOfType <ArgumentException>().Subject;

            e.ParamName.Should().Be("stages");
            e.Message.Should().Contain($"The output type to the last stage was expected to be {typeof(Person)}, but was {typeof(BsonDocument)}.");
        }