@@ -435,5 +435,61 @@ public void UnsafeLiteral_Update()
435435
436436 Assert . Equal ( "UPDATE [Table] SET [Count] = Count + 1" , c [ EngineCodes . SqlServer ] . ToString ( ) ) ;
437437 }
438+
439+ [ Fact ]
440+ public void Passing_Boolean_To_Where_Should_Call_WhereTrue_Or_WhereFalse ( )
441+ {
442+ var query = new Query ( "Table" ) . Where ( "Col" , true ) ;
443+
444+ var engines = new [ ] {
445+ EngineCodes . SqlServer ,
446+ } ;
447+
448+ var c = Compilers . Compile ( engines , query ) ;
449+
450+ Assert . Equal ( "SELECT * FROM [Table] WHERE [Col] = cast(1 as bit)" , c [ EngineCodes . SqlServer ] . ToString ( ) ) ;
451+ }
452+
453+ [ Fact ]
454+ public void Passing_Boolean_False_To_Where_Should_Call_WhereTrue_Or_WhereFalse ( )
455+ {
456+ var query = new Query ( "Table" ) . Where ( "Col" , false ) ;
457+
458+ var engines = new [ ] {
459+ EngineCodes . SqlServer ,
460+ } ;
461+
462+ var c = Compilers . Compile ( engines , query ) ;
463+
464+ Assert . Equal ( "SELECT * FROM [Table] WHERE [Col] = cast(0 as bit)" , c [ EngineCodes . SqlServer ] . ToString ( ) ) ;
465+ }
466+
467+ [ Fact ]
468+ public void Passing_Negative_Boolean_To_Where_Should_Call_WhereTrue_Or_WhereFalse ( )
469+ {
470+ var query = new Query ( "Table" ) . Where ( "Col" , "!=" , true ) ;
471+
472+ var engines = new [ ] {
473+ EngineCodes . SqlServer ,
474+ } ;
475+
476+ var c = Compilers . Compile ( engines , query ) ;
477+
478+ Assert . Equal ( "SELECT * FROM [Table] WHERE [Col] != cast(1 as bit)" , c [ EngineCodes . SqlServer ] . ToString ( ) ) ;
479+ }
480+
481+ [ Fact ]
482+ public void Passing_Negative_Boolean_False_To_Where_Should_Call_WhereTrue_Or_WhereFalse ( )
483+ {
484+ var query = new Query ( "Table" ) . Where ( "Col" , "!=" , false ) ;
485+
486+ var engines = new [ ] {
487+ EngineCodes . SqlServer ,
488+ } ;
489+
490+ var c = Compilers . Compile ( engines , query ) ;
491+
492+ Assert . Equal ( "SELECT * FROM [Table] WHERE [Col] != cast(0 as bit)" , c [ EngineCodes . SqlServer ] . ToString ( ) ) ;
493+ }
438494 }
439495}
0 commit comments