public void Should_collect_and_process_data_from_telemetry_collector_on_each_scheduler_tick() { //Arrange var fakeTelemetryProcessor = new FakeTelemetryProcessor(); var fakeTelemetryCollector = new FakeTelemetryCollector(); fakeTelemetryCollector.ExptectedTelemetryData = new[] { new TelemetryData { Kind = "Pressure", Value = "10 psi" }, new TelemetryData { Kind = "Temperature", Value = "70 °F" }, }; Func <string, ITelemetryProcessor> processorFactory = (string telemetryType) => { return(fakeTelemetryProcessor); }; var fakeScheduler = new FakeScheduler(); //Act var telemetryClient = new TelemetryClient(fakeTelemetryCollector, fakeScheduler, processorFactory); telemetryClient.Start(); fakeScheduler.RaiseElaspedEvent(); //Assert Assert.That(() => fakeTelemetryProcessor.ReceivedTelemetryData.Count(data => data.Kind == "Pressure" && data.Value == "10 psi") == 1); Assert.That(() => fakeTelemetryProcessor.ReceivedTelemetryData.Count(data => data.Kind == "Temperature" && data.Value == "70 °F") == 1); }
public void Should_start_scheduler_when_started() { //Arrange var fakeTelemetryProcessor = new FakeTelemetryProcessor(); var fakeTelemetryCollector = new FakeTelemetryCollector(); Func <string, ITelemetryProcessor> processorFactory = (string telemetryType) => { return(fakeTelemetryProcessor); }; var fakeScheduler = new FakeScheduler(); //Act var telemetryClient = new TelemetryClient(fakeTelemetryCollector, fakeScheduler, processorFactory); telemetryClient.Start(); //Assert Assert.True(fakeScheduler.Started); }
public void Should_collect_data_from_telemetry_collector_on_each_scheduler_tick() { //Arrange var fakeTelemetryProcessor = new FakeTelemetryProcessor(); var fakeTelemetryCollector = new FakeTelemetryCollector(); fakeTelemetryCollector.ExptectedTelemetryData = Enumerable.Empty <TelemetryData>(); Func <string, ITelemetryProcessor> processorFactory = (string telemetryType) => { return(fakeTelemetryProcessor); }; var fakeScheduler = new FakeScheduler(); //Act var telemetryClient = new TelemetryClient(fakeTelemetryCollector, fakeScheduler, processorFactory); telemetryClient.Start(); fakeScheduler.RaiseElaspedEvent(); //Assert Assert.IsTrue(fakeTelemetryCollector.CollectWasInvoked); }