@@ -366,6 +366,35 @@ public async Task InStyleFilterParameterAsync()
366366 }
367367 }
368368
369+ [ Test ]
370+ public void InStyleFilterParameterWithHashSetAsync ( )
371+ {
372+ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
373+ // one-to-many loading tests
374+ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
375+ log . Info ( "Starting one-to-many collection loader filter tests with HashSet." ) ;
376+ using ( var session = OpenSession ( ) )
377+ {
378+ Assert . Multiple (
379+ async ( ) =>
380+ {
381+ session . EnableFilter ( "regionlist" )
382+ . SetParameterList ( "regions" , new HashSet < string > { "LA" , "APAC" } ) ;
383+
384+ log . Debug ( "Performing query of Salespersons" ) ;
385+ var salespersons = await ( session . CreateQuery ( "from Salesperson" ) . ListAsync ( ) ) ;
386+ Assert . That ( salespersons . Count , Is . EqualTo ( 1 ) , "Incorrect salesperson count" ) ;
387+
388+ session . EnableFilter ( "guidlist" )
389+ . SetParameterList ( "guids" , new HashSet < Guid > { testData . Product1Guid , testData . Product2Guid } ) ;
390+
391+ log . Debug ( "Performing query of Products" ) ;
392+ var products = await ( session . CreateQuery ( "from Product" ) . ListAsync ( ) ) ;
393+ Assert . That ( products . Count , Is . EqualTo ( 2 ) , "Incorrect product count" ) ;
394+ } ) ;
395+ }
396+ }
397+
369398 [ Test ]
370399 public async Task ManyToManyFilterOnCriteriaAsync ( )
371400 {
@@ -572,6 +601,8 @@ private class TestData
572601 public DateTime nextMonth ;
573602 public DateTime sixMonthsAgo ;
574603 public DateTime fourMonthsAgo ;
604+ public Guid Product1Guid ;
605+ public Guid Product2Guid ;
575606
576607 private DynamicFilterTestAsync outer ;
577608
@@ -631,6 +662,8 @@ public TestData(DynamicFilterTestAsync outer)
631662 product1 . StockNumber = ( 123 ) ;
632663 product1 . EffectiveStartDate = ( lastMonth ) ;
633664 product1 . EffectiveEndDate = ( nextMonth ) ;
665+ product1 . ProductGuid = Guid . NewGuid ( ) ;
666+ Product1Guid = product1 . ProductGuid ;
634667
635668 product1 . AddCategory ( cat1 ) ;
636669 product1 . AddCategory ( cat2 ) ;
@@ -655,6 +688,8 @@ public TestData(DynamicFilterTestAsync outer)
655688 product2 . StockNumber = ( 124 ) ;
656689 product2 . EffectiveStartDate = ( sixMonthsAgo ) ;
657690 product2 . EffectiveEndDate = ( DateTime . Today ) ;
691+ product2 . ProductGuid = Guid . NewGuid ( ) ;
692+ Product2Guid = product2 . ProductGuid ;
658693
659694 Category cat3 = new Category ( "test cat 2" , sixMonthsAgo , DateTime . Today ) ;
660695 product2 . AddCategory ( cat3 ) ;
@@ -731,6 +766,8 @@ public void Prepare()
731766 product1 . StockNumber = ( 123 ) ;
732767 product1 . EffectiveStartDate = ( lastMonth ) ;
733768 product1 . EffectiveEndDate = ( nextMonth ) ;
769+ product1 . ProductGuid = Guid . NewGuid ( ) ;
770+ Product1Guid = product1 . ProductGuid ;
734771
735772 product1 . AddCategory ( cat1 ) ;
736773 product1 . AddCategory ( cat2 ) ;
@@ -755,6 +792,8 @@ public void Prepare()
755792 product2 . StockNumber = ( 124 ) ;
756793 product2 . EffectiveStartDate = ( sixMonthsAgo ) ;
757794 product2 . EffectiveEndDate = ( DateTime . Today ) ;
795+ product2 . ProductGuid = Guid . NewGuid ( ) ;
796+ Product2Guid = product2 . ProductGuid ;
758797
759798 Category cat3 = new Category ( "test cat 2" , sixMonthsAgo , DateTime . Today ) ;
760799 product2 . AddCategory ( cat3 ) ;
0 commit comments