コード例 #1
0
        // private methods
        private void AssertRegisteredMember(ChangeStreamDocumentSerializer <BsonDocument> changeStreamDocumentSerializer, string memberName, string elementName, IBsonSerializer memberSerializer)
        {
            var serializationInfo = changeStreamDocumentSerializer._memberSerializationInfo()[memberName];

            serializationInfo.ElementName.Should().Be(elementName);
            serializationInfo.Serializer.Should().BeSameAs(memberSerializer);
            serializationInfo.NominalType.Should().Be(memberSerializer.ValueType);
        }
コード例 #2
0
ファイル: ChangeStreamHelper.cs プロジェクト: LJM74520/nice
        // private static methods
        private static RenderedPipelineDefinition <TResult> RenderPipeline <TResult, TDocument>(
            PipelineDefinition <ChangeStreamDocument <TDocument>, TResult> pipeline,
            IBsonSerializer <TDocument> documentSerializer)
        {
            var changeStreamDocumentSerializer = new ChangeStreamDocumentSerializer <TDocument>(documentSerializer);
            var serializerRegistry             = BsonSerializer.SerializerRegistry;

            return(pipeline.Render(changeStreamDocumentSerializer, serializerRegistry));
        }
コード例 #3
0
        public void constructor_should_initialize_instance()
        {
            var documentSerializer = new BsonDocumentSerializer();

            var result = new ChangeStreamDocumentSerializer <BsonDocument>(documentSerializer);

            result._documentSerializer().Should().BeSameAs(documentSerializer);
            result._memberSerializationInfo().Count.Should().Be(7);
            AssertRegisteredMember(result, "ClusterTime", "clusterTime", BsonTimestampSerializer.Instance);
            AssertRegisteredMember(result, "CollectionNamespace", "ns", ChangeStreamDocumentCollectionNamespaceSerializer.Instance);
            AssertRegisteredMember(result, "DocumentKey", "documentKey", BsonDocumentSerializer.Instance);
            AssertRegisteredMember(result, "FullDocument", "fullDocument", documentSerializer);
            AssertRegisteredMember(result, "OperationType", "operationType", ChangeStreamOperationTypeSerializer.Instance);
            AssertRegisteredMember(result, "ResumeToken", "_id", BsonDocumentSerializer.Instance);
            AssertRegisteredMember(result, "UpdateDescription", "updateDescription", ChangeStreamUpdateDescriptionSerializer.Instance);
        }
コード例 #4
0
 public static IBsonSerializer <BsonDocument> _documentSerializer(this ChangeStreamDocumentSerializer <BsonDocument> obj) => (IBsonSerializer <BsonDocument>)Reflector.GetFieldValue(obj, nameof(_documentSerializer));