public void CreateCommand_should_return_expected_result_when_WriteConcern_is_set( [Values(null, 1, 2)] int?w) { var writeConcern = w.HasValue ? new WriteConcern(w.Value) : null; #pragma warning disable CS0618 // Type or member is obsolete var subject = new MapReduceOutputToCollectionOperation(_collectionNamespace, _outputCollectionNamespace, _mapFunction, _reduceFunction, _messageEncoderSettings) #pragma warning restore CS0618 // Type or member is obsolete { WriteConcern = writeConcern }; var connectionDescription = OperationTestHelper.CreateConnectionDescription(); var session = OperationTestHelper.CreateSession(); var result = subject.CreateCommand(session, connectionDescription); var expectedResult = new BsonDocument { { "mapReduce", _collectionNamespace.CollectionName }, { "map", _mapFunction }, { "reduce", _reduceFunction }, { "out", new BsonDocument { { "replace", _outputCollectionNamespace.CollectionName }, { "db", _databaseNamespace.DatabaseName } } }, { "writeConcern", () => writeConcern.ToBsonDocument(), writeConcern != null } }; result.Should().Be(expectedResult); }
public void CreateCommand_should_return_expected_result_when_BypassDocumentValidation_is_set( [Values(null, false, true)] bool?bypassDocumentValidation) { #pragma warning disable CS0618 // Type or member is obsolete var subject = new MapReduceOutputToCollectionOperation(_collectionNamespace, _outputCollectionNamespace, _mapFunction, _reduceFunction, _messageEncoderSettings) #pragma warning restore CS0618 // Type or member is obsolete { BypassDocumentValidation = bypassDocumentValidation }; var connectionDescription = OperationTestHelper.CreateConnectionDescription(); var session = OperationTestHelper.CreateSession(); var result = subject.CreateCommand(session, connectionDescription); var expectedResult = new BsonDocument { { "mapReduce", _collectionNamespace.CollectionName }, { "map", _mapFunction }, { "reduce", _reduceFunction }, { "out", new BsonDocument { { "replace", _outputCollectionNamespace.CollectionName }, { "db", _databaseNamespace.DatabaseName } } }, { "bypassDocumentValidation", () => bypassDocumentValidation.Value, bypassDocumentValidation.HasValue } }; result.Should().Be(expectedResult); }