public void Serialize_should_have_expected_result( ChangeStreamOperationType operationType, string resumeTokenJson, string databaseName, string collectionName, string documentKeyJson, string updateDescriptionJson, string fullDocumentJson, string expectedJson) { var subject = CreateSubject(); var value = new ChangeStreamDocument <BsonDocument>( ParseBsonDocument(resumeTokenJson), operationType, CreateCollectionNamespace(databaseName, collectionName), ParseBsonDocument(documentKeyJson), ParseUpdateDescription(updateDescriptionJson), ParseBsonDocument(fullDocumentJson)); string json; using (var textWriter = new StringWriter()) using (var writer = new JsonWriter(textWriter)) { var context = BsonSerializationContext.CreateRoot(writer); subject.Serialize(context, value); json = textWriter.ToString(); } json.Should().Be(expectedJson); }
public void constructor_should_initialize_instance() { var backingDocument = new BsonDocument(); var documentSerializer = Mock.Of <IBsonSerializer <BsonDocument> >(); var result = new ChangeStreamDocument <BsonDocument>(backingDocument, documentSerializer); result.BackingDocument.Should().BeSameAs(backingDocument); var changeStreamDocumentSerializer = result._serializer().Should().BeOfType <ChangeStreamDocumentSerializer <BsonDocument> >().Subject; changeStreamDocumentSerializer._documentSerializer().Should().BeSameAs(documentSerializer); }
public void Serialize_should_have_expected_result_when_value_is_null() { var subject = CreateSubject(); ChangeStreamDocument <BsonDocument> value = null; string json; using (var textWriter = new StringWriter()) using (var writer = new JsonWriter(textWriter)) { var context = BsonSerializationContext.CreateRoot(writer); subject.Serialize(context, value); json = textWriter.ToString(); } json.Should().Be("null"); }
public void Serialize_should_have_expected_result() { var subject = CreateSubject(); var backingDocument = BsonDocument.Parse("{ x : 1 }"); var value = new ChangeStreamDocument <BsonDocument>(backingDocument, BsonDocumentSerializer.Instance); string json; using (var textWriter = new StringWriter()) using (var writer = new JsonWriter(textWriter)) { var context = BsonSerializationContext.CreateRoot(writer); subject.Serialize(context, value); json = textWriter.ToString(); } json.Should().Be("{ \"x\" : 1 }"); }
/// <inheritdoc /> protected override void SerializeValue(BsonSerializationContext context, BsonSerializationArgs args, ChangeStreamDocument <TDocument> value) { var writer = context.Writer; writer.WriteStartDocument(); writer.WriteName("_id"); BsonDocumentSerializer.Instance.Serialize(context, value.ResumeToken); writer.WriteName("operationType"); __operationTypeSerializer.Serialize(context, value.OperationType); if (value.CollectionNamespace != null) { writer.WriteName("ns"); SerializeCollectionNamespace(writer, value.CollectionNamespace); } if (value.DocumentKey != null) { writer.WriteName("documentKey"); BsonDocumentSerializer.Instance.Serialize(context, value.DocumentKey); } if (value.UpdateDescription != null) { writer.WriteName("updateDescription"); __updateDescriptionSerializer.Serialize(context, value.UpdateDescription); } if (value.FullDocument != null) { writer.WriteName("fullDocument"); _documentSerializer.Serialize(context, value.FullDocument); } writer.WriteEndDocument(); }