@@ -59,7 +59,8 @@ public void Can_select_on_Dates()
5959 } ;
6060
6161 var i = 0 ;
62- dates . Each ( x => db . Insert ( new Submission {
62+ dates . Each ( x => db . Insert ( new Submission
63+ {
6364 Id = i ++ ,
6465 StoryDate = x ,
6566 Headline = "Headline" + i ,
@@ -73,8 +74,8 @@ public void Can_select_on_Dates()
7374 Is . EqualTo ( 3 ) ) ;
7475
7576 var storyDateTime = new DateTime ( 2014 , 1 , 1 ) ;
76- Assert . That ( db . Select < Submission > ( q => q . StoryDate > storyDateTime - new TimeSpan ( 1 , 0 , 0 , 0 ) &&
77- q . StoryDate < storyDateTime + new TimeSpan ( 1 , 0 , 0 , 0 ) ) . Count ,
77+ Assert . That ( db . Select < Submission > ( q => q . StoryDate > storyDateTime - new TimeSpan ( 1 , 0 , 0 , 0 ) &&
78+ q . StoryDate < storyDateTime + new TimeSpan ( 1 , 0 , 0 , 0 ) ) . Count ,
7879 Is . EqualTo ( 3 ) ) ;
7980 }
8081 }
@@ -135,7 +136,35 @@ public void Can_select_Partial_SQL_Statements()
135136 Is . EquivalentTo ( new [ ] { "555-UNICORNS" , "555-PLANES" } ) ) ;
136137 Assert . That ( partialDto . Map ( x => x . CompanyName ) ,
137138 Is . EquivalentTo ( new [ ] { "Planes R Us" , "We do everything!" } ) ) ;
138- }
139+ }
140+ }
141+
142+ [ Test ]
143+ public void Can_escape_wildcards ( )
144+ {
145+ using ( var db = OpenDbConnection ( ) )
146+ {
147+ db . DropAndCreateTable < Shipper > ( ) ;
148+
149+ db . Insert ( new Shipper { CompanyName = "a" } ) ;
150+ db . Insert ( new Shipper { CompanyName = "ab" } ) ;
151+ db . Insert ( new Shipper { CompanyName = "a_c" } ) ;
152+ db . Insert ( new Shipper { CompanyName = "a_cd" } ) ;
153+ db . Insert ( new Shipper { CompanyName = "abcd" } ) ;
154+ db . Insert ( new Shipper { CompanyName = "a%" } ) ;
155+ db . Insert ( new Shipper { CompanyName = "a%b" } ) ;
156+ db . Insert ( new Shipper { CompanyName = "a%bc" } ) ;
157+ db . Insert ( new Shipper { CompanyName = "a\\ " } ) ;
158+ db . Insert ( new Shipper { CompanyName = "a\\ b" } ) ;
159+ db . Insert ( new Shipper { CompanyName = "a\\ bc" } ) ;
160+
161+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName == "a_" ) , Is . EqualTo ( 0 ) ) ;
162+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName . StartsWith ( "a_" ) ) , Is . EqualTo ( 2 ) ) ;
163+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName . StartsWith ( "a%" ) ) , Is . EqualTo ( 3 ) ) ;
164+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName . StartsWith ( "a_c" ) ) , Is . EqualTo ( 2 ) ) ;
165+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName . StartsWith ( @"a\" ) ) , Is . EqualTo ( 3 ) ) ;
166+ Assert . That ( db . Count < Shipper > ( q => q . CompanyName . StartsWith ( @"a\b" ) ) , Is . EqualTo ( 2 ) ) ;
167+ }
139168 }
140169 }
141170
0 commit comments