Skip to content

Commit ed5c0b3

Browse files
committed
CSHARP-1449: Code review changes.
1 parent 2281ee7 commit ed5c0b3

10 files changed

+29
-28
lines changed

src/MongoDB.Driver.Core.Tests/Core/Operations/EnumerableOneTimeAsyncCursorTests.cs renamed to src/MongoDB.Driver.Core.Tests/Core/Operations/AsyncCursorEnumerableOneTimeAdapterTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
namespace MongoDB.Driver.Core.Operations
2424
{
2525
[TestFixture]
26-
public class EnumerableOneTimeAsyncCursorTests
26+
public class AsyncCursorEnumerableOneTimeAdapterTests
2727
{
2828
[Test]
2929
public void constructor_should_throw_when_cursor_is_null()
3030
{
31-
Action action = () => new EnumerableOneTimeAsyncCursor<BsonDocument>(null, CancellationToken.None);
31+
Action action = () => new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(null, CancellationToken.None);
3232

3333
action.ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("cursor");
3434
}
@@ -39,7 +39,7 @@ public void GetEnumerator_should_return_expected_result()
3939
var cursor = Substitute.For<IAsyncCursor<BsonDocument>>();
4040
cursor.MoveNext().Returns(true, false);
4141
cursor.Current.Returns(new[] { new BsonDocument("_id", 0) });
42-
var subject = new EnumerableOneTimeAsyncCursor<BsonDocument>(cursor, CancellationToken.None);
42+
var subject = new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(cursor, CancellationToken.None);
4343

4444
var result = subject.GetEnumerator();
4545

@@ -52,7 +52,7 @@ public void GetEnumerator_should_return_expected_result()
5252
public void GetEnumerator_should_throw_when_called_more_than_once()
5353
{
5454
var cursor = Substitute.For<IAsyncCursor<BsonDocument>>();
55-
var subject = new EnumerableOneTimeAsyncCursor<BsonDocument>(cursor, CancellationToken.None);
55+
var subject = new AsyncCursorEnumerableOneTimeAdapter<BsonDocument>(cursor, CancellationToken.None);
5656
subject.GetEnumerator();
5757

5858
Action action = () => subject.GetEnumerator();

src/MongoDB.Driver.Core.Tests/Core/Operations/EnumerableAsyncCursorSourceTests.cs renamed to src/MongoDB.Driver.Core.Tests/Core/Operations/AsyncCursorSourceEnumerableAdapterTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
namespace MongoDB.Driver.Core.Operations
2424
{
2525
[TestFixture]
26-
public class EnumerableAsyncCursorSourceTests
26+
public class AsyncCursorSourceEnumerableAdapterTests
2727
{
2828
[Test]
2929
public void constructor_should_throw_when_source_is_null()
3030
{
31-
Action action = () => new EnumerableAsyncCursorSource<BsonDocument>(null, CancellationToken.None);
31+
Action action = () => new AsyncCursorSourceEnumerableAdapter<BsonDocument>(null, CancellationToken.None);
3232

3333
action.ShouldThrow<ArgumentNullException>().And.ParamName.Should().Be("source");
3434
}
@@ -40,7 +40,7 @@ public void GetEnumerator_should_call_ToCursor_each_time(
4040
var source = Substitute.For<IAsyncCursorSource<BsonDocument>>();
4141
var cursor = Substitute.For<IAsyncCursor<BsonDocument>>();
4242
source.ToCursor().Returns(cursor);
43-
var subject = new EnumerableAsyncCursorSource<BsonDocument>(source, CancellationToken.None);
43+
var subject = new AsyncCursorSourceEnumerableAdapter<BsonDocument>(source, CancellationToken.None);
4444

4545
for (var i = 0; i < times; i++)
4646
{

src/MongoDB.Driver.Core.Tests/MongoDB.Driver.Core.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@
7070
<Compile Include="Core\Operations\AsyncCursorTests.cs" />
7171
<Compile Include="Core\Operations\BulkMixedWriteOperationTests.cs" />
7272
<Compile Include="Core\Operations\BulkWriteOperationErrorTests.cs" />
73-
<Compile Include="Core\Operations\EnumerableAsyncCursorSourceTests.cs" />
74-
<Compile Include="Core\Operations\EnumerableOneTimeAsyncCursorTests.cs" />
73+
<Compile Include="Core\Operations\AsyncCursorSourceEnumerableAdapterTests.cs" />
74+
<Compile Include="Core\Operations\AsyncCursorEnumerableOneTimeAdapterTests.cs" />
7575
<Compile Include="Core\Operations\GeoSearchOperationTests.cs" />
7676
<Compile Include="Core\Operations\GeoNearOperationTests.cs" />
7777
<Compile Include="Core\Operations\CreateCollectionOperationTests.cs" />

src/MongoDB.Driver.Core/Core/Operations/EnumerableOneTimeAsyncCursor.cs renamed to src/MongoDB.Driver.Core/Core/Operations/AsyncCursorEnumerableOneTimeAdapter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121

2222
namespace MongoDB.Driver.Core.Operations
2323
{
24-
internal class EnumerableOneTimeAsyncCursor<TDocument> : IEnumerable<TDocument>
24+
internal class AsyncCursorEnumerableOneTimeAdapter<TDocument> : IEnumerable<TDocument>
2525
{
2626
// private fields
2727
private readonly CancellationToken _cancellationToken;
2828
private readonly IAsyncCursor<TDocument> _cursor;
2929
private bool _hasBeenEnumerated;
3030

3131
// constructors
32-
public EnumerableOneTimeAsyncCursor(IAsyncCursor<TDocument> cursor, CancellationToken cancellationToken)
32+
public AsyncCursorEnumerableOneTimeAdapter(IAsyncCursor<TDocument> cursor, CancellationToken cancellationToken)
3333
{
3434
_cursor = Ensure.IsNotNull(cursor, nameof(cursor));
3535
_cancellationToken = cancellationToken;

src/MongoDB.Driver.Core/Core/Operations/EnumerableAsyncCursorSource.cs renamed to src/MongoDB.Driver.Core/Core/Operations/AsyncCursorSourceEnumerableAdapter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121

2222
namespace MongoDB.Driver.Core.Operations
2323
{
24-
internal class EnumerableAsyncCursorSource<TDocument> : IEnumerable<TDocument>
24+
internal class AsyncCursorSourceEnumerableAdapter<TDocument> : IEnumerable<TDocument>
2525
{
2626
// private fields
2727
private readonly CancellationToken _cancellationToken;
2828
private readonly IAsyncCursorSource<TDocument> _source;
2929

3030
// constructors
31-
public EnumerableAsyncCursorSource(IAsyncCursorSource<TDocument> source, CancellationToken cancellationToken)
31+
public AsyncCursorSourceEnumerableAdapter(IAsyncCursorSource<TDocument> source, CancellationToken cancellationToken)
3232
{
3333
_source = Ensure.IsNotNull(source, nameof(source));
3434
_cancellationToken = cancellationToken;

src/MongoDB.Driver.Core/IAsyncCursor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ public static class IAsyncCursorExtensions
322322
/// <returns>An IEnumerable</returns>
323323
public static IEnumerable<TDocument> ToEnumerable<TDocument>(this IAsyncCursor<TDocument> cursor, CancellationToken cancellationToken = default(CancellationToken))
324324
{
325-
return new EnumerableOneTimeAsyncCursor<TDocument>(cursor, cancellationToken);
325+
return new AsyncCursorEnumerableOneTimeAdapter<TDocument>(cursor, cancellationToken);
326326
}
327327

328328
/// <summary>

src/MongoDB.Driver.Core/IAsyncCursorSource.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ public static class IAsyncCursorSourceExtensions
282282
/// <returns>An IEnumerable.</returns>
283283
public static IEnumerable<TDocument> ToEnumerable<TDocument>(this IAsyncCursorSource<TDocument> source, CancellationToken cancellationToken = default(CancellationToken))
284284
{
285-
return new EnumerableAsyncCursorSource<TDocument>(source, cancellationToken);
285+
return new AsyncCursorSourceEnumerableAdapter<TDocument>(source, cancellationToken);
286286
}
287287

288288
/// <summary>

src/MongoDB.Driver.Core/MongoDB.Driver.Core.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@
147147
<Compile Include="Core\Operations\CreateIndexesUsingInsertOperation.cs" />
148148
<Compile Include="DocumentValidationAction.cs" />
149149
<Compile Include="DocumentValidationLevel.cs" />
150-
<Compile Include="Core\Operations\EnumerableOneTimeAsyncCursor.cs" />
151-
<Compile Include="Core\Operations\EnumerableAsyncCursorSource.cs" />
150+
<Compile Include="Core\Operations\AsyncCursorEnumerableOneTimeAdapter.cs" />
151+
<Compile Include="Core\Operations\AsyncCursorSourceEnumerableAdapter.cs" />
152152
<Compile Include="Core\Operations\GeoSearchOperation.cs" />
153153
<Compile Include="Core\Operations\GeoNearOperation.cs" />
154154
<Compile Include="Core\Operations\ListCollectionsUsingCommandOperation.cs" />

src/MongoDB.Driver/Linq/AggregateQueryableExecutionModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ internal override Task ExecuteAsync<TInput>(IMongoCollection<TInput> collection,
9393

9494
internal override object Execute<TInput>(IMongoCollection<TInput> collection, AggregateOptions options)
9595
{
96+
// TODO: modify LINQ to have a sync version of this
9697
return new AsyncCursorEnumerableAdapter<TOutput>(ct => ((Task<IAsyncCursor<TOutput>>)ExecuteAsync(collection, options, ct)).GetAwaiter().GetResult(), CancellationToken.None);
9798
}
9899
}

src/MongoDB.Driver/MongoCollectionImpl.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -145,43 +145,43 @@ public override async Task<IAsyncCursor<TResult>> AggregateAsync<TResult>(Pipeli
145145

146146
public override BulkWriteResult<TDocument> BulkWrite(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options, CancellationToken cancellationToken)
147147
{
148-
var requestsList = Ensure.IsNotNull(requests, nameof(requests)).ToList();
149-
if (requestsList.Count == 0)
148+
Ensure.IsNotNull(requests, nameof(requests));
149+
if (!requests.Any())
150150
{
151151
throw new ArgumentException("Must contain at least 1 request.", "requests");
152152
}
153153
options = options ?? new BulkWriteOptions();
154154

155-
var operation = CreateBulkWriteOperation(requestsList, options);
155+
var operation = CreateBulkWriteOperation(requests, options);
156156
try
157157
{
158158
var result = ExecuteWriteOperation(operation, cancellationToken);
159-
return BulkWriteResult<TDocument>.FromCore(result, requestsList);
159+
return BulkWriteResult<TDocument>.FromCore(result, requests);
160160
}
161161
catch (MongoBulkWriteOperationException ex)
162162
{
163-
throw MongoBulkWriteException<TDocument>.FromCore(ex, requestsList);
163+
throw MongoBulkWriteException<TDocument>.FromCore(ex, requests.ToList());
164164
}
165165
}
166166

167167
public override async Task<BulkWriteResult<TDocument>> BulkWriteAsync(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options, CancellationToken cancellationToken)
168168
{
169-
var requestsList = Ensure.IsNotNull(requests, nameof(requests)).ToList();
170-
if (requestsList.Count == 0)
169+
Ensure.IsNotNull(requests, nameof(requests));
170+
if (!requests.Any())
171171
{
172172
throw new ArgumentException("Must contain at least 1 request.", "requests");
173173
}
174174
options = options ?? new BulkWriteOptions();
175175

176-
var operation = CreateBulkWriteOperation(requestsList, options);
176+
var operation = CreateBulkWriteOperation(requests, options);
177177
try
178178
{
179179
var result = await ExecuteWriteOperationAsync(operation, cancellationToken).ConfigureAwait(false);
180-
return BulkWriteResult<TDocument>.FromCore(result, requestsList);
180+
return BulkWriteResult<TDocument>.FromCore(result, requests);
181181
}
182182
catch (MongoBulkWriteOperationException ex)
183183
{
184-
throw MongoBulkWriteException<TDocument>.FromCore(ex, requestsList);
184+
throw MongoBulkWriteException<TDocument>.FromCore(ex, requests.ToList());
185185
}
186186
}
187187

@@ -520,7 +520,7 @@ private AggregateToCollectionOperation CreateAggregateToCollectionOperation<TRes
520520
};
521521
}
522522

523-
private BulkMixedWriteOperation CreateBulkWriteOperation(List<WriteModel<TDocument>> requests, BulkWriteOptions options)
523+
private BulkMixedWriteOperation CreateBulkWriteOperation(IEnumerable<WriteModel<TDocument>> requests, BulkWriteOptions options)
524524
{
525525
return new BulkMixedWriteOperation(
526526
_collectionNamespace,

0 commit comments

Comments
 (0)