public void GattCommunicationStatus_ForGattResultIsNull_Unreachable( GattServicesProvider sut) { sut.GattCommunicationStatus .Should() .Be(GattCommunicationStatus.Unreachable); }
public async Task Refresh_ForConnectedAndCharacteristicsUnreachable_DoesNotAddService( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device, [Freeze] IGattServicesDictionary services, IGattDeviceServicesResultWrapper result, IGattDeviceServiceWrapper service, IGattCharacteristicsResultWrapper characteristics) { result.Status .Returns(GattCommunicationStatus.Success); result.Services .Returns(new[] { service }); device.ConnectionStatus .Returns(BluetoothConnectionStatus.Connected); device.GetGattServicesAsync() .Returns(Task.FromResult(result)); characteristics.Status .Returns(GattCommunicationStatus.Unreachable); service.GetCharacteristicsAsync() .Returns(characteristics); await sut.Refresh(); services[service] .Should() .NotBe(characteristics); }
public void Services_ForInvoked_CallsServices( GattServicesProvider sut, [Freeze][Populate] IGattServicesDictionary services) { sut.Services .Should( ) .BeEquivalentTo(services.ReadOnlyDictionary); }
public async Task Refresh_ForInvoked_ClearsServices( GattServicesProvider sut, [Freeze] IGattServicesDictionary services) { await sut.Refresh(); services.Received() .Clear(); }
public void Dispose_ForInvoked_CallsServices( GattServicesProvider sut, [Freeze][Populate] IGattServicesDictionary services) { sut.Dispose( ); services.Received( ) .Dispose( ); }
public void Refreshed_ForInvoked_CallsSubject( GattServicesProvider sut, [Freeze] ISubject <GattCommunicationStatus> refreshed) { using var disposable = sut.Refreshed .Subscribe(DoNothing); refreshed.Received( ) .Subscribe(Arg.Any <AnonymousObserver <GattCommunicationStatus> > ( )); }
public async Task Refresh_ForDisconnected_SetsGattCommunicationStatusUnreachable( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device) { device.ConnectionStatus .Returns(BluetoothConnectionStatus.Disconnected); await sut.Refresh(); sut.GattCommunicationStatus .Should() .Be(GattCommunicationStatus.Unreachable); }
public async Task Refresh_ForDisconnected_Notifies( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device, [Freeze] ISubject <GattCommunicationStatus> refreshed) { device.ConnectionStatus .Returns(BluetoothConnectionStatus.Disconnected); await sut.Refresh(); refreshed.Received() .OnNext(GattCommunicationStatus.Unreachable); }
public async Task Refresh_ForConnected_SetsGattCommunicationStatusUnreachable( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device, IGattDeviceServicesResultWrapper result) { result.Status .Returns(GattCommunicationStatus.Unreachable); device.ConnectionStatus .Returns(BluetoothConnectionStatus.Connected); device.GetGattServicesAsync() .Returns(Task.FromResult(result)); await sut.Refresh(); sut.GattCommunicationStatus .Should() .Be(GattCommunicationStatus.Unreachable); }
public async Task GattCommunicationStatus_ForConnectedAndServicesAvailable_Success( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device, IGattDeviceServicesResultWrapper resultWrapper) { resultWrapper.Status .Returns(GattCommunicationStatus.Success); device.ConnectionStatus .Returns(BluetoothConnectionStatus.Connected); device.GetGattServicesAsync() .Returns(resultWrapper); await sut.Refresh(); sut.GattCommunicationStatus .Should() .Be(resultWrapper.Status); }
public async Task Refresh_ForConnected_Notifies( GattServicesProvider sut, [Freeze] IBluetoothLeDeviceWrapper device, [Freeze] ISubject <GattCommunicationStatus> refreshed, IGattDeviceServicesResultWrapper result) { var expected = GattCommunicationStatus.ProtocolError; result.Status .Returns(expected); device.ConnectionStatus .Returns(BluetoothConnectionStatus.Connected); device.GetGattServicesAsync() .Returns(Task.FromResult(result)); await sut.Refresh(); refreshed.Received() .OnNext(expected); }