Skip to content

Commit 995ec4f

Browse files
craiggwilsonrstam
authored andcommitted
added vb unit tests for the ToLower and ToUpper addition.
1 parent 96600bd commit 995ec4f

File tree

1 file changed

+273
-0
lines changed

1 file changed

+273
-0
lines changed

DriverUnitTestsVB/Linq/SelectQueryTests.vb

Lines changed: 273 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5266,6 +5266,279 @@ Namespace MongoDB.DriverUnitTests.Linq
52665266
Assert.AreEqual(1, Consume(query))
52675267
End Sub
52685268

5269+
<Test()> _
5270+
Public Sub TestWhereSToLowerEqualsConstantLowerCaseValue()
5271+
Dim query = From c In _collection.AsQueryable(Of C)()
5272+
Where c.S.ToLower() = "abc"
5273+
Select c
5274+
5275+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5276+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5277+
Assert.AreSame(_collection, translatedQuery.Collection)
5278+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5279+
5280+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5281+
Assert.AreEqual("(C c) => (c.S.ToLower() == ""abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5282+
5283+
Assert.IsNull(selectQuery.OrderBy)
5284+
Assert.IsNull(selectQuery.Projection)
5285+
Assert.IsNull(selectQuery.Skip)
5286+
Assert.IsNull(selectQuery.Take)
5287+
5288+
Assert.AreEqual("{ ""$and"" : [{ ""s"" : { ""$exists"" : true } }, { ""s"" : /^abc$/i }] }", selectQuery.BuildQuery().ToJson())
5289+
Assert.AreEqual(1, Consume(query))
5290+
End Sub
5291+
5292+
<Test()> _
5293+
Public Sub TestWhereSToLowerDoesNotEqualConstantLowerCaseValue()
5294+
Dim query = From c In _collection.AsQueryable(Of C)()
5295+
Where c.S.ToLower() <> "abc"
5296+
Select c
5297+
5298+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5299+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5300+
Assert.AreSame(_collection, translatedQuery.Collection)
5301+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5302+
5303+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5304+
Assert.AreEqual("(C c) => (c.S.ToLower() != ""abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5305+
5306+
Assert.IsNull(selectQuery.OrderBy)
5307+
Assert.IsNull(selectQuery.Projection)
5308+
Assert.IsNull(selectQuery.Skip)
5309+
Assert.IsNull(selectQuery.Take)
5310+
5311+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true, ""$not"" : /^abc$/i } }", selectQuery.BuildQuery().ToJson())
5312+
Assert.AreEqual(1, Consume(query))
5313+
End Sub
5314+
5315+
<Test()> _
5316+
Public Sub TestWhereSToLowerEqualsConstantMixedCaseValue()
5317+
Dim query = From c In _collection.AsQueryable(Of C)()
5318+
Where c.S.ToLower() = "Abc"
5319+
Select c
5320+
5321+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5322+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5323+
Assert.AreSame(_collection, translatedQuery.Collection)
5324+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5325+
5326+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5327+
Assert.AreEqual("(C c) => (c.S.ToLower() == ""Abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5328+
5329+
Assert.IsNull(selectQuery.OrderBy)
5330+
Assert.IsNull(selectQuery.Projection)
5331+
Assert.IsNull(selectQuery.Skip)
5332+
Assert.IsNull(selectQuery.Take)
5333+
5334+
Assert.AreEqual("{ ""_id"" : { ""$exists"" : false } }", selectQuery.BuildQuery().ToJson())
5335+
Assert.AreEqual(0, Consume(query))
5336+
End Sub
5337+
5338+
<Test()> _
5339+
Public Sub TestWhereSToLowerDoesNotEqualConstantMixedCaseValue()
5340+
Dim query = From c In _collection.AsQueryable(Of C)()
5341+
Where c.S.ToLower() <> "Abc"
5342+
Select c
5343+
5344+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5345+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5346+
Assert.AreSame(_collection, translatedQuery.Collection)
5347+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5348+
5349+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5350+
Assert.AreEqual("(C c) => (c.S.ToLower() != ""Abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5351+
5352+
Assert.IsNull(selectQuery.OrderBy)
5353+
Assert.IsNull(selectQuery.Projection)
5354+
Assert.IsNull(selectQuery.Skip)
5355+
Assert.IsNull(selectQuery.Take)
5356+
5357+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true } }", selectQuery.BuildQuery().ToJson())
5358+
Assert.AreEqual(2, Consume(query))
5359+
End Sub
5360+
5361+
<Test()> _
5362+
Public Sub TestWhereSToLowerEqualsNullValue()
5363+
Dim query = From c In _collection.AsQueryable(Of C)()
5364+
Where c.S.ToLower() = DirectCast(Nothing, String)
5365+
Select c
5366+
5367+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5368+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5369+
Assert.AreSame(_collection, translatedQuery.Collection)
5370+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5371+
5372+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5373+
5374+
Assert.IsNull(selectQuery.OrderBy)
5375+
Assert.IsNull(selectQuery.Projection)
5376+
Assert.IsNull(selectQuery.Skip)
5377+
Assert.IsNull(selectQuery.Take)
5378+
5379+
Assert.AreEqual("{ ""_id"" : { ""$exists"" : false } }", selectQuery.BuildQuery().ToJson())
5380+
Assert.AreEqual(0, Consume(query))
5381+
End Sub
5382+
5383+
<Test()> _
5384+
Public Sub TestWhereSToLowerDoesNotEqualNullValue()
5385+
Dim query = From c In _collection.AsQueryable(Of C)()
5386+
Where c.S.ToLower() <> DirectCast(Nothing, String)
5387+
Select c
5388+
5389+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5390+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5391+
Assert.AreSame(_collection, translatedQuery.Collection)
5392+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5393+
5394+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5395+
5396+
Assert.IsNull(selectQuery.OrderBy)
5397+
Assert.IsNull(selectQuery.Projection)
5398+
Assert.IsNull(selectQuery.Skip)
5399+
Assert.IsNull(selectQuery.Take)
5400+
5401+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true } }", selectQuery.BuildQuery().ToJson())
5402+
Assert.AreEqual(2, Consume(query))
5403+
End Sub
5404+
5405+
<Test()> _
5406+
Public Sub TestWhereSToUpperEqualsConstantLowerCaseValue()
5407+
Dim query = From c In _collection.AsQueryable(Of C)()
5408+
Where c.S.ToUpper() = "abc"
5409+
Select c
5410+
5411+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5412+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5413+
Assert.AreSame(_collection, translatedQuery.Collection)
5414+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5415+
5416+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5417+
Assert.AreEqual("(C c) => (c.S.ToUpper() == ""abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5418+
5419+
Assert.IsNull(selectQuery.OrderBy)
5420+
Assert.IsNull(selectQuery.Projection)
5421+
Assert.IsNull(selectQuery.Skip)
5422+
Assert.IsNull(selectQuery.Take)
5423+
5424+
Assert.AreEqual("{ ""_id"" : { ""$exists"" : false } }", selectQuery.BuildQuery().ToJson())
5425+
Assert.AreEqual(0, Consume(query))
5426+
End Sub
5427+
5428+
<Test()> _
5429+
Public Sub TestWhereSToUpperDoesNotEqualConstantLowerCaseValue()
5430+
Dim query = From c In _collection.AsQueryable(Of C)()
5431+
Where c.S.ToUpper() <> "abc"
5432+
Select c
5433+
5434+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5435+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5436+
Assert.AreSame(_collection, translatedQuery.Collection)
5437+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5438+
5439+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5440+
Assert.AreEqual("(C c) => (c.S.ToUpper() != ""abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5441+
5442+
Assert.IsNull(selectQuery.OrderBy)
5443+
Assert.IsNull(selectQuery.Projection)
5444+
Assert.IsNull(selectQuery.Skip)
5445+
Assert.IsNull(selectQuery.Take)
5446+
5447+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true } }", selectQuery.BuildQuery().ToJson())
5448+
Assert.AreEqual(2, Consume(query))
5449+
End Sub
5450+
5451+
<Test()> _
5452+
Public Sub TestWhereSToUpperEqualsConstantMixedCaseValue()
5453+
Dim query = From c In _collection.AsQueryable(Of C)()
5454+
Where c.S.ToUpper() = "Abc"
5455+
Select c
5456+
5457+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5458+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5459+
Assert.AreSame(_collection, translatedQuery.Collection)
5460+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5461+
5462+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5463+
Assert.AreEqual("(C c) => (c.S.ToUpper() == ""Abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5464+
5465+
Assert.IsNull(selectQuery.OrderBy)
5466+
Assert.IsNull(selectQuery.Projection)
5467+
Assert.IsNull(selectQuery.Skip)
5468+
Assert.IsNull(selectQuery.Take)
5469+
5470+
Assert.AreEqual("{ ""_id"" : { ""$exists"" : false } }", selectQuery.BuildQuery().ToJson())
5471+
Assert.AreEqual(0, Consume(query))
5472+
End Sub
5473+
5474+
<Test()> _
5475+
Public Sub TestWhereSToUpperDoesNotEqualConstantMixedCaseValue()
5476+
Dim query = From c In _collection.AsQueryable(Of C)()
5477+
Where c.S.ToUpper() <> "Abc"
5478+
Select c
5479+
5480+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5481+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5482+
Assert.AreSame(_collection, translatedQuery.Collection)
5483+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5484+
5485+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5486+
Assert.AreEqual("(C c) => (c.S.ToUpper() != ""Abc"")", ExpressionFormatter.ToString(selectQuery.Where))
5487+
5488+
Assert.IsNull(selectQuery.OrderBy)
5489+
Assert.IsNull(selectQuery.Projection)
5490+
Assert.IsNull(selectQuery.Skip)
5491+
Assert.IsNull(selectQuery.Take)
5492+
5493+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true } }", selectQuery.BuildQuery().ToJson())
5494+
Assert.AreEqual(2, Consume(query))
5495+
End Sub
5496+
5497+
<Test()> _
5498+
Public Sub TestWhereSToUpperEqualsNullValue()
5499+
Dim query = From c In _collection.AsQueryable(Of C)()
5500+
Where c.S.ToUpper() = DirectCast(Nothing, String)
5501+
Select c
5502+
5503+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5504+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5505+
Assert.AreSame(_collection, translatedQuery.Collection)
5506+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5507+
5508+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5509+
5510+
Assert.IsNull(selectQuery.OrderBy)
5511+
Assert.IsNull(selectQuery.Projection)
5512+
Assert.IsNull(selectQuery.Skip)
5513+
Assert.IsNull(selectQuery.Take)
5514+
5515+
Assert.AreEqual("{ ""_id"" : { ""$exists"" : false } }", selectQuery.BuildQuery().ToJson())
5516+
Assert.AreEqual(0, Consume(query))
5517+
End Sub
5518+
5519+
<Test()> _
5520+
Public Sub TestWhereSToUpperDoesNotEqualNullValue()
5521+
Dim query = From c In _collection.AsQueryable(Of C)()
5522+
Where c.S.ToUpper() <> DirectCast(Nothing, String)
5523+
Select c
5524+
5525+
Dim translatedQuery = MongoQueryTranslator.Translate(query)
5526+
Assert.IsInstanceOf(Of SelectQuery)(translatedQuery)
5527+
Assert.AreSame(_collection, translatedQuery.Collection)
5528+
Assert.AreSame(GetType(C), translatedQuery.DocumentType)
5529+
5530+
Dim selectQuery = DirectCast(translatedQuery, SelectQuery)
5531+
5532+
Assert.IsNull(selectQuery.OrderBy)
5533+
Assert.IsNull(selectQuery.Projection)
5534+
Assert.IsNull(selectQuery.Skip)
5535+
Assert.IsNull(selectQuery.Take)
5536+
5537+
Assert.AreEqual("{ ""s"" : { ""$exists"" : true } }", selectQuery.BuildQuery().ToJson())
5538+
Assert.AreEqual(2, Consume(query))
5539+
End Sub
5540+
5541+
52695542
<Test()> _
52705543
Public Sub TestWhereSystemProfileInfoDurationGreatherThan10Seconds()
52715544
Dim query = From pi In _systemProfileCollection.AsQueryable(Of SystemProfileInfo)()

0 commit comments

Comments
 (0)