public void With_with_readConcern_should_return_expected_result(
            [Values(false, true)] bool nullReadConcern)
        {
            var subject     = new TransactionOptions(new ReadConcern(), new WriteConcern());
            var readConcern = nullReadConcern ? null : new ReadConcern();

            var result = subject.With(readConcern: readConcern);

            result.ReadConcern.Should().BeSameAs(readConcern);
        }
        public void With_with_writeConcern_should_return_expected_result(
            [Values(false, true)] bool nullWriteConcern)
        {
            var subject      = new TransactionOptions(new ReadConcern(), new ReadPreference(ReadPreferenceMode.Primary), new WriteConcern());
            var writeConcern = nullWriteConcern ? null : new WriteConcern();

            var result = subject.With(writeConcern: writeConcern);

            result.WriteConcern.Should().BeSameAs(writeConcern);
        }