public void DoesNotEmitWhenGameNotMatching() { var trn = new TelemetryReaderNode(Array.Empty<ITelemetrySourceFactory>()); trn.RunningGameTarget.Post(new RunningGame(null)); trn.RunningGameTarget.Post(new RunningGame("any")); Assert.Throws<TimeoutException>(() => trn.GameTelemetrySource.Receive(Timeout)); }
public void SwitchesSourcesWhenGameChanges() { var trn = new TelemetryReaderNode(new[] { new TestTelemetrySourceFactory("a", Telemetry[0], Telemetry[1]), new TestTelemetrySourceFactory("b", Telemetry[2]) }); trn.RunningGameTarget.Post(new RunningGame("a")); Assert.Equal(Telemetry[0], trn.GameTelemetrySource.Receive(Timeout)); Assert.Equal(Telemetry[1], trn.GameTelemetrySource.Receive(Timeout)); trn.RunningGameTarget.Post(new RunningGame("b")); Assert.Equal(Telemetry[2], trn.GameTelemetrySource.Receive(Timeout)); }