@@ -1176,6 +1176,42 @@ public async Task StringBitOperationAsync_2()
11761176 await mock . Received ( ) . StringBitOperationAsync ( Bitwise . Xor , "prefix:destination" , Arg . Is ( valid ) , CommandFlags . None ) ;
11771177 }
11781178
1179+ [ Fact ]
1180+ public async Task StringBitOperationAsync_Diff ( )
1181+ {
1182+ RedisKey [ ] keys = new RedisKey [ ] { "x" , "y1" , "y2" } ;
1183+ Expression < Predicate < RedisKey [ ] > > valid = _ => _ . Length == 3 && _ [ 0 ] == "prefix:x" && _ [ 1 ] == "prefix:y1" && _ [ 2 ] == "prefix:y2" ;
1184+ await prefixed . StringBitOperationAsync ( Bitwise . Diff , "destination" , keys , CommandFlags . None ) ;
1185+ await mock . Received ( ) . StringBitOperationAsync ( Bitwise . Diff , "prefix:destination" , Arg . Is ( valid ) , CommandFlags . None ) ;
1186+ }
1187+
1188+ [ Fact ]
1189+ public async Task StringBitOperationAsync_Diff1 ( )
1190+ {
1191+ RedisKey [ ] keys = new RedisKey [ ] { "x" , "y1" , "y2" } ;
1192+ Expression < Predicate < RedisKey [ ] > > valid = _ => _ . Length == 3 && _ [ 0 ] == "prefix:x" && _ [ 1 ] == "prefix:y1" && _ [ 2 ] == "prefix:y2" ;
1193+ await prefixed . StringBitOperationAsync ( Bitwise . Diff1 , "destination" , keys , CommandFlags . None ) ;
1194+ await mock . Received ( ) . StringBitOperationAsync ( Bitwise . Diff1 , "prefix:destination" , Arg . Is ( valid ) , CommandFlags . None ) ;
1195+ }
1196+
1197+ [ Fact ]
1198+ public async Task StringBitOperationAsync_AndOr ( )
1199+ {
1200+ RedisKey [ ] keys = new RedisKey [ ] { "x" , "y1" , "y2" } ;
1201+ Expression < Predicate < RedisKey [ ] > > valid = _ => _ . Length == 3 && _ [ 0 ] == "prefix:x" && _ [ 1 ] == "prefix:y1" && _ [ 2 ] == "prefix:y2" ;
1202+ await prefixed . StringBitOperationAsync ( Bitwise . AndOr , "destination" , keys , CommandFlags . None ) ;
1203+ await mock . Received ( ) . StringBitOperationAsync ( Bitwise . AndOr , "prefix:destination" , Arg . Is ( valid ) , CommandFlags . None ) ;
1204+ }
1205+
1206+ [ Fact ]
1207+ public async Task StringBitOperationAsync_One ( )
1208+ {
1209+ RedisKey [ ] keys = new RedisKey [ ] { "a" , "b" , "c" } ;
1210+ Expression < Predicate < RedisKey [ ] > > valid = _ => _ . Length == 3 && _ [ 0 ] == "prefix:a" && _ [ 1 ] == "prefix:b" && _ [ 2 ] == "prefix:c" ;
1211+ await prefixed . StringBitOperationAsync ( Bitwise . One , "destination" , keys , CommandFlags . None ) ;
1212+ await mock . Received ( ) . StringBitOperationAsync ( Bitwise . One , "prefix:destination" , Arg . Is ( valid ) , CommandFlags . None ) ;
1213+ }
1214+
11791215 [ Fact ]
11801216 public async Task StringBitPositionAsync ( )
11811217 {
0 commit comments