Skip to content

Commit 5985760

Browse files
committed
fix null error
1 parent c84c06f commit 5985760

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/MongoDB.Driver/PipelineStageDefinitionBuilder.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -616,10 +616,8 @@ public static PipelineStageDefinition<TInput, TOutput> Facet<TInput, TOutput>(
616616
/// <returns>The stage.</returns>
617617
internal static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TPoint, TOutput>(
618618
TPoint near,
619-
GeoNearOptions<TInput> options = null) where TPoint : class
619+
GeoNearOptions<TInput> options = null)
620620
{
621-
Ensure.IsNotNull(near, nameof(near));
622-
623621
const string operatorName = "$geoNear";
624622
var stage = new DelegatedPipelineStageDefinition<TInput, TOutput>(
625623
operatorName,
@@ -661,6 +659,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TCoordina
661659
GeoNearOptions<TInput> options = null)
662660
where TCoordinates : GeoJsonCoordinates
663661
{
662+
Ensure.IsNotNull(near, nameof(near));
664663
return GeoNear<TInput, GeoJsonPoint<TCoordinates>, TOutput>(near, options);
665664
}
666665

@@ -677,6 +676,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TCoordina
677676
TCoordinates[] near,
678677
GeoNearOptions<TInput> options = null)
679678
{
679+
Ensure.IsNotNull(near, nameof(near));
680680
Ensure.That(near.Length, len => len is >= 2 and <= 3, nameof(near), "Legacy coordinates array should have 2 or 3 coordinates.");
681681
return GeoNear<TInput, TCoordinates[], TOutput>(near, options);
682682
}
@@ -693,6 +693,7 @@ public static PipelineStageDefinition<TInput, TOutput> GeoNear<TInput, TOutput>(
693693
BsonDocument near,
694694
GeoNearOptions<TInput> options = null)
695695
{
696+
Ensure.IsNotNull(near, nameof(near));
696697
Ensure.That(near.ElementCount, len => len is >= 2 and <= 3, nameof(near), "Legacy coordinates document should have 2 or 3 coordinates.");
697698
return GeoNear<TInput, BsonDocument, TOutput>(near, options);
698699
}

tests/MongoDB.Driver.Tests/PipelineStageDefinitionBuilderTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,12 @@ public void GeoNear_with_wrong_legacy_coordinates_should_throw_exception()
205205
PipelineStageDefinitionBuilder.GeoNear<BsonDocument, double, BsonDocument>([34.0, 67.0, 23.0, 34.5]);
206206
});
207207

208+
Assert.Throws<ArgumentException>(() =>
209+
{
210+
var result =
211+
PipelineStageDefinitionBuilder.GeoNear<BsonDocument, double, BsonDocument>([34.0]);
212+
});
213+
208214
Assert.Throws<ArgumentException>(() =>
209215
{
210216
var result =

0 commit comments

Comments
 (0)