@@ -17,7 +17,7 @@ public async Task RequestDevice_Ok()
1717 Context . JSInterop . Setup < bool > ( "disconnect" , matcher => matcher . Arguments . Count == 3 && ( matcher . Arguments [ 0 ] ? . ToString ( ) ? . StartsWith ( "bb_bt_" ) ?? false ) ) . SetResult ( true ) ;
1818
1919 var bluetoothService = Context . Services . GetRequiredService < IBluetoothService > ( ) ;
20- var device = await bluetoothService . RequestDevice ( [ "battery_service" ] ) ;
20+ var device = await bluetoothService . RequestDevice ( ) ;
2121 Assert . NotNull ( device ) ;
2222 Assert . Equal ( "test" , device . Name ) ;
2323 Assert . Equal ( "id_1234" , device . Id ) ;
@@ -50,7 +50,7 @@ public async Task ReadValue_null()
5050 Context . JSInterop . Setup < string [ ] ? > ( "requestDevice" , matcher => matcher . Arguments . Count == 4 && ( matcher . Arguments [ 0 ] ? . ToString ( ) ? . StartsWith ( "bb_bt_" ) ?? false ) ) . SetResult ( [ "test" , "id_1234" ] ) ;
5151 Context . JSInterop . Setup < byte [ ] ? > ( "readValue" , matcher => matcher . Arguments . Count == 5 && ( matcher . Arguments [ 0 ] ? . ToString ( ) ? . StartsWith ( "bb_bt_" ) ?? false ) ) . SetResult ( null ) ;
5252 var bluetoothService = Context . Services . GetRequiredService < IBluetoothService > ( ) ;
53- var device = await bluetoothService . RequestDevice ( [ "battery_service" ] ) ;
53+ var device = await bluetoothService . RequestDevice ( ) ;
5454 Assert . NotNull ( device ) ;
5555 var v = await device . GetBatteryValue ( ) ;
5656 Assert . Equal ( 0x0 , v ) ;
@@ -73,4 +73,53 @@ public async Task GetAvailability_Ok()
7373 mi . Invoke ( bluetoothService , [ "test" ] ) ;
7474 Assert . Equal ( "test" , bluetoothService . ErrorMessage ) ;
7575 }
76+
77+ [ Fact ]
78+ public void Filter_Ok ( )
79+ {
80+ var filter = new BluetoothRequestOptions ( )
81+ {
82+ Filters =
83+ [
84+ new ( ) {
85+ ManufacturerData =
86+ [
87+ new ( )
88+ {
89+ CompanyIdentifier = 0x004C ,
90+ DataPrefix = "Apple" ,
91+ Mask = "test"
92+ }
93+ ] ,
94+ Name = "test-Name" ,
95+ NamePrefix = "test-NamePrefix" ,
96+ Services = [ "test-service" ]
97+ }
98+ ] ,
99+ AcceptAllDevices = false ,
100+ ExclusionFilters = [ ] ,
101+ OptionalManufacturerData = [ "test-manufacturer-data" ] ,
102+ OptionalServices = [ "test-optional-service" ]
103+ } ;
104+
105+ Assert . NotNull ( filter . Filters ) ;
106+
107+ var data = filter . Filters [ 0 ] . ManufacturerData ;
108+ Assert . NotNull ( data ) ;
109+ Assert . Equal ( 0x004C , data [ 0 ] . CompanyIdentifier ) ;
110+ Assert . Equal ( "Apple" , data [ 0 ] . DataPrefix ) ;
111+ Assert . Equal ( "test" , data [ 0 ] . Mask ) ;
112+
113+ Assert . Equal ( "test-Name" , filter . Filters [ 0 ] . Name ) ;
114+ Assert . Equal ( "test-NamePrefix" , filter . Filters [ 0 ] . NamePrefix ) ;
115+
116+ var services = filter . Filters [ 0 ] . Services ;
117+ Assert . NotNull ( services ) ;
118+ Assert . Equal ( "test-service" , services [ 0 ] ) ;
119+
120+ Assert . False ( filter . AcceptAllDevices ) ;
121+ Assert . False ( filter . AcceptAllDevices ) ;
122+ Assert . Equal ( [ "test-manufacturer-data" ] , filter . OptionalManufacturerData ) ;
123+ Assert . Equal ( [ "test-optional-service" ] , filter . OptionalServices ) ;
124+ }
76125}
0 commit comments