public async Task ReturningStatesTheCountShouldBeNineteen() { // ARRANGE var mock = new HassWebSocketMock(); // Get the non connected hass client await using var hassClient = mock.GetHassClientNotConnected(); hassClient.SocketTimeout = 50000; // ACT var connectTask = hassClient.ConnectAsync(new Uri("ws://localhost:8192/api/websocket"), "TOKEN"); // Wait until hassclient processes connect sequence await mock.WaitUntilConnected().ConfigureAwait(false); // Fake return states message mock.AddResponse(HassWebSocketMock.StateMessage); await connectTask.ConfigureAwait(false); // ASSERT Assert.Equal(19, hassClient.States.Count); }