public async Task UsingEntitiesNewEventShouldCallFunction() { // ARRANGE await InitializeFakeDaemon().ConfigureAwait(false); var called = false; // ACT DefaultDaemonRxApp.Entities("binary_sensor.pir", "binary_sensor.pir_2") .StateChanges .Subscribe(_ => called = true); DefaultHassClientMock.AddChangedEvent("binary_sensor.pir_2", "off", "on"); await RunFakeDaemonUntilTimeout().ConfigureAwait(false); // ASSERT Assert.True(called); }
public async Task CallbackObserverAttributeMissingShouldReturnNull() { // ARRANGE await InitializeFakeDaemon().ConfigureAwait(false); string?missingString = "has initial value"; // ACT DefaultDaemonRxApp.Entities(n => n.EntityId.StartsWith("binary_sensor.pir", true, CultureInfo.InvariantCulture)) .StateChanges .Subscribe(s => missingString = s.New.Attribute?.missing_attribute); DefaultHassClientMock.AddChangedEvent("binary_sensor.pir_2", "off", "on"); await RunFakeDaemonUntilTimeout().ConfigureAwait(false); // ASSERT Assert.Null(missingString); }