@@ -5579,13 +5579,12 @@ where c.S.ToLower() == "abc"
5579
5579
5580
5580
var selectQuery = ( SelectQuery ) translatedQuery ;
5581
5581
Assert . AreEqual ( "(C c) => (c.S.ToLower() == \" abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5582
-
5583
5582
Assert . IsNull ( selectQuery . OrderBy ) ;
5584
5583
Assert . IsNull ( selectQuery . Projection ) ;
5585
5584
Assert . IsNull ( selectQuery . Skip ) ;
5586
5585
Assert . IsNull ( selectQuery . Take ) ;
5587
5586
5588
- Assert . AreEqual ( "{ \" $and \" : [{ \" s\" : { \" $exists \" : true } }, { \" s \" : /^abc$/i }] }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5587
+ Assert . AreEqual ( "{ \" s\" : /^abc$/i }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5589
5588
Assert . AreEqual ( 1 , Consume ( query ) ) ;
5590
5589
}
5591
5590
@@ -5603,14 +5602,13 @@ where c.S.ToLower() != "abc"
5603
5602
5604
5603
var selectQuery = ( SelectQuery ) translatedQuery ;
5605
5604
Assert . AreEqual ( "(C c) => (c.S.ToLower() != \" abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5606
-
5607
5605
Assert . IsNull ( selectQuery . OrderBy ) ;
5608
5606
Assert . IsNull ( selectQuery . Projection ) ;
5609
5607
Assert . IsNull ( selectQuery . Skip ) ;
5610
5608
Assert . IsNull ( selectQuery . Take ) ;
5611
5609
5612
- Assert . AreEqual ( "{ \" s\" : { \" $exists \" : true, \" $ not\" : /^abc$/i } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5613
- Assert . AreEqual ( 1 , Consume ( query ) ) ;
5610
+ Assert . AreEqual ( "{ \" s\" : { \" $not\" : /^abc$/i } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5611
+ Assert . AreEqual ( 4 , Consume ( query ) ) ;
5614
5612
}
5615
5613
5616
5614
[ Test ]
@@ -5627,7 +5625,6 @@ where c.S.ToLower() == "Abc"
5627
5625
5628
5626
var selectQuery = ( SelectQuery ) translatedQuery ;
5629
5627
Assert . AreEqual ( "(C c) => (c.S.ToLower() == \" Abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5630
-
5631
5628
Assert . IsNull ( selectQuery . OrderBy ) ;
5632
5629
Assert . IsNull ( selectQuery . Projection ) ;
5633
5630
Assert . IsNull ( selectQuery . Skip ) ;
@@ -5651,21 +5648,20 @@ where c.S.ToLower() != "Abc"
5651
5648
5652
5649
var selectQuery = ( SelectQuery ) translatedQuery ;
5653
5650
Assert . AreEqual ( "(C c) => (c.S.ToLower() != \" Abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5654
-
5655
5651
Assert . IsNull ( selectQuery . OrderBy ) ;
5656
5652
Assert . IsNull ( selectQuery . Projection ) ;
5657
5653
Assert . IsNull ( selectQuery . Skip ) ;
5658
5654
Assert . IsNull ( selectQuery . Take ) ;
5659
5655
5660
- Assert . AreEqual ( "{ \" s \" : { \" $exists \" : true } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5661
- Assert . AreEqual ( 2 , Consume ( query ) ) ;
5656
+ Assert . AreEqual ( "{ }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5657
+ Assert . AreEqual ( 5 , Consume ( query ) ) ;
5662
5658
}
5663
5659
5664
5660
[ Test ]
5665
5661
public void TestWhereSToLowerEqualsNullValue ( )
5666
5662
{
5667
5663
var query = from c in _collection . AsQueryable < C > ( )
5668
- where c . S . ToLower ( ) == ( string ) null
5664
+ where c . S . ToLower ( ) == null
5669
5665
select c ;
5670
5666
5671
5667
var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
@@ -5674,21 +5670,21 @@ where c.S.ToLower() == (string)null
5674
5670
Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
5675
5671
5676
5672
var selectQuery = ( SelectQuery ) translatedQuery ;
5677
-
5673
+ Assert . AreEqual ( "(C c) => (c.S.ToLower() == null)" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5678
5674
Assert . IsNull ( selectQuery . OrderBy ) ;
5679
5675
Assert . IsNull ( selectQuery . Projection ) ;
5680
5676
Assert . IsNull ( selectQuery . Skip ) ;
5681
5677
Assert . IsNull ( selectQuery . Take ) ;
5682
5678
5683
- Assert . AreEqual ( "{ \" _id \" : { \" $exists \" : false } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5684
- Assert . AreEqual ( 0 , Consume ( query ) ) ;
5679
+ Assert . AreEqual ( "{ \" s \" : null }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5680
+ Assert . AreEqual ( 3 , Consume ( query ) ) ;
5685
5681
}
5686
5682
5687
5683
[ Test ]
5688
5684
public void TestWhereSToLowerDoesNotEqualNullValue ( )
5689
5685
{
5690
5686
var query = from c in _collection . AsQueryable < C > ( )
5691
- where c . S . ToLower ( ) != ( string ) null
5687
+ where c . S . ToLower ( ) != null
5692
5688
select c ;
5693
5689
5694
5690
var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
@@ -5697,13 +5693,13 @@ where c.S.ToLower() != (string)null
5697
5693
Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
5698
5694
5699
5695
var selectQuery = ( SelectQuery ) translatedQuery ;
5700
-
5696
+ Assert . AreEqual ( "(C c) => (c.S.ToLower() != null)" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5701
5697
Assert . IsNull ( selectQuery . OrderBy ) ;
5702
5698
Assert . IsNull ( selectQuery . Projection ) ;
5703
5699
Assert . IsNull ( selectQuery . Skip ) ;
5704
5700
Assert . IsNull ( selectQuery . Take ) ;
5705
5701
5706
- Assert . AreEqual ( "{ \" s\" : { \" $exists \" : true } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5702
+ Assert . AreEqual ( "{ \" s\" : { \" $ne \" : null } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5707
5703
Assert . AreEqual ( 2 , Consume ( query ) ) ;
5708
5704
}
5709
5705
@@ -5721,7 +5717,6 @@ where c.S.ToUpper() == "abc"
5721
5717
5722
5718
var selectQuery = ( SelectQuery ) translatedQuery ;
5723
5719
Assert . AreEqual ( "(C c) => (c.S.ToUpper() == \" abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5724
-
5725
5720
Assert . IsNull ( selectQuery . OrderBy ) ;
5726
5721
Assert . IsNull ( selectQuery . Projection ) ;
5727
5722
Assert . IsNull ( selectQuery . Skip ) ;
@@ -5745,14 +5740,13 @@ where c.S.ToUpper() != "abc"
5745
5740
5746
5741
var selectQuery = ( SelectQuery ) translatedQuery ;
5747
5742
Assert . AreEqual ( "(C c) => (c.S.ToUpper() != \" abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5748
-
5749
5743
Assert . IsNull ( selectQuery . OrderBy ) ;
5750
5744
Assert . IsNull ( selectQuery . Projection ) ;
5751
5745
Assert . IsNull ( selectQuery . Skip ) ;
5752
5746
Assert . IsNull ( selectQuery . Take ) ;
5753
5747
5754
- Assert . AreEqual ( "{ \" s \" : { \" $exists \" : true } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5755
- Assert . AreEqual ( 2 , Consume ( query ) ) ;
5748
+ Assert . AreEqual ( "{ }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5749
+ Assert . AreEqual ( 5 , Consume ( query ) ) ;
5756
5750
}
5757
5751
5758
5752
[ Test ]
@@ -5769,7 +5763,6 @@ where c.S.ToUpper() == "Abc"
5769
5763
5770
5764
var selectQuery = ( SelectQuery ) translatedQuery ;
5771
5765
Assert . AreEqual ( "(C c) => (c.S.ToUpper() == \" Abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5772
-
5773
5766
Assert . IsNull ( selectQuery . OrderBy ) ;
5774
5767
Assert . IsNull ( selectQuery . Projection ) ;
5775
5768
Assert . IsNull ( selectQuery . Skip ) ;
@@ -5793,21 +5786,20 @@ where c.S.ToUpper() != "Abc"
5793
5786
5794
5787
var selectQuery = ( SelectQuery ) translatedQuery ;
5795
5788
Assert . AreEqual ( "(C c) => (c.S.ToUpper() != \" Abc\" )" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5796
-
5797
5789
Assert . IsNull ( selectQuery . OrderBy ) ;
5798
5790
Assert . IsNull ( selectQuery . Projection ) ;
5799
5791
Assert . IsNull ( selectQuery . Skip ) ;
5800
5792
Assert . IsNull ( selectQuery . Take ) ;
5801
5793
5802
- Assert . AreEqual ( "{ \" s \" : { \" $exists \" : true } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5803
- Assert . AreEqual ( 2 , Consume ( query ) ) ;
5794
+ Assert . AreEqual ( "{ }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5795
+ Assert . AreEqual ( 5 , Consume ( query ) ) ;
5804
5796
}
5805
5797
5806
5798
[ Test ]
5807
5799
public void TestWhereSToUpperEqualsNullValue ( )
5808
5800
{
5809
5801
var query = from c in _collection . AsQueryable < C > ( )
5810
- where c . S . ToUpper ( ) == ( string ) null
5802
+ where c . S . ToUpper ( ) == null
5811
5803
select c ;
5812
5804
5813
5805
var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
@@ -5816,21 +5808,21 @@ where c.S.ToUpper() == (string)null
5816
5808
Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
5817
5809
5818
5810
var selectQuery = ( SelectQuery ) translatedQuery ;
5819
-
5811
+ Assert . AreEqual ( "(C c) => (c.S.ToUpper() == null)" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5820
5812
Assert . IsNull ( selectQuery . OrderBy ) ;
5821
5813
Assert . IsNull ( selectQuery . Projection ) ;
5822
5814
Assert . IsNull ( selectQuery . Skip ) ;
5823
5815
Assert . IsNull ( selectQuery . Take ) ;
5824
5816
5825
- Assert . AreEqual ( "{ \" _id \" : { \" $exists \" : false } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5826
- Assert . AreEqual ( 0 , Consume ( query ) ) ;
5817
+ Assert . AreEqual ( "{ \" s \" : null }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5818
+ Assert . AreEqual ( 3 , Consume ( query ) ) ;
5827
5819
}
5828
5820
5829
5821
[ Test ]
5830
5822
public void TestWhereSToUpperDoesNotEqualNullValue ( )
5831
5823
{
5832
5824
var query = from c in _collection . AsQueryable < C > ( )
5833
- where c . S . ToUpper ( ) != ( string ) null
5825
+ where c . S . ToUpper ( ) != null
5834
5826
select c ;
5835
5827
5836
5828
var translatedQuery = MongoQueryTranslator . Translate ( query ) ;
@@ -5839,13 +5831,13 @@ where c.S.ToUpper() != (string)null
5839
5831
Assert . AreSame ( typeof ( C ) , translatedQuery . DocumentType ) ;
5840
5832
5841
5833
var selectQuery = ( SelectQuery ) translatedQuery ;
5842
-
5834
+ Assert . AreEqual ( "(C c) => (c.S.ToUpper() != null)" , ExpressionFormatter . ToString ( selectQuery . Where ) ) ;
5843
5835
Assert . IsNull ( selectQuery . OrderBy ) ;
5844
5836
Assert . IsNull ( selectQuery . Projection ) ;
5845
5837
Assert . IsNull ( selectQuery . Skip ) ;
5846
5838
Assert . IsNull ( selectQuery . Take ) ;
5847
5839
5848
- Assert . AreEqual ( "{ \" s\" : { \" $exists \" : true } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5840
+ Assert . AreEqual ( "{ \" s\" : { \" $ne \" : null } }" , selectQuery . BuildQuery ( ) . ToJson ( ) ) ;
5849
5841
Assert . AreEqual ( 2 , Consume ( query ) ) ;
5850
5842
}
5851
5843
0 commit comments