Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-2927

Make the ReplaceX methods from class MongoCollectionBase<TDocument> virtual

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 2.11.0
    • 2.10.1
    • API
    • None

    Description

       

      The class:

       

      public abstract class MongoCollectionBase<TDocument> : IMongoCollection<TDocument>

       

       

       

      does not have the following methods as virtual:

       

      public ReplaceOneResult ReplaceOne(FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default);
      public ReplaceOneResult ReplaceOne(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default);
      public Task<ReplaceOneResult> ReplaceOneAsync(FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default);
      public Task<ReplaceOneResult> ReplaceOneAsync(IClientSessionHandle session, FilterDefinition<TDocument> filter, TDocument replacement, ReplaceOptions options = null, CancellationToken cancellationToken = default);
      

       

       

      Therefore they cannot be mocked with Moq in the unit tests.

      Is it possible to have them changed?

       

       

      Attachments

        Activity

          People

            mikalai.mazurenka@mongodb.com Mikalai Mazurenka (Inactive)
            lucian.naie@gmail.com Lucian Naie
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: