public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync) { var monitorData = new RemoteMonitorTelemetryData(); string messageBody; while (!token.IsCancellationRequested) { if (TelemetryActive) { monitorData.DeviceId = _deviceId; monitorData.Temperature = _temperatureGenerator.GetNextValue(); monitorData.Humidity = _humidityGenerator.GetNextValue(); messageBody = "Temperature: " + Math.Round(monitorData.Temperature, 2) + " Humidity: " + Math.Round(monitorData.Humidity, 2); if (ActivateExternalTemperature) { monitorData.ExternalTemperature = _externalTemperatureGenerator.GetNextValue(); messageBody += " External Temperature: " + Math.Round((double)monitorData.ExternalTemperature, 2); } else { monitorData.ExternalTemperature = null; } //_logger.LogInfo("Sending " + messageBody + " for Device: " + _deviceId); await sendMessageAsync(monitorData); } await Task.Delay(TimeSpan.FromSeconds(REPORT_FREQUENCY_IN_SECONDS), token); } }
public void InspectMinimumLimits() { double value = 0; IRandomGenerator randomGenerator = new RandomGeneratorStub(0.01); var sampleData = new SampleDataGenerator(5, 10, randomGenerator); for (var i = 0; i < 100; i++) { value = Math.Round(sampleData.GetNextValue(), 2); Assert.True(value >= 5); } }
public void InspectMaximumLimits() { double value = 0; IRandomGenerator randomGenerator = new RandomGeneratorStub(0.99); var sampleData = new SampleDataGenerator(5, 10, randomGenerator); for (int i = 0; i < 100; i++) { value = Math.Round(sampleData.GetNextValue(), 2); Assert.LessOrEqual(value, 10); } }
public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync) { var monitorData = new RemoteMonitorTelemetryData(); string messageBody; while (!token.IsCancellationRequested) { if (TelemetryActive) { monitorData.DeviceId = _deviceId; monitorData.Temperature = _temperatureGenerator.GetNextValue(); monitorData.Humidity = _humidityGenerator.GetNextValue(); monitorData.Rpm = _rpmGenerator.GetNextValue(); monitorData.Payload = "'{ shfcnt:" + _rpmGenerator.GetNextValue().ToString() + "}'"; messageBody = "Temperature: " + Math.Round(monitorData.Temperature, 2) + " Humidity: " + Math.Round(monitorData.Humidity, 2) + " RPM: " + Math.Round(monitorData.Rpm, 2) + " Payload: " + monitorData.Payload; if (ActivateExternalTemperature) { monitorData.ExternalTemperature = _externalTemperatureGenerator.GetNextValue(); messageBody += " External Temperature: " + Math.Round((double)monitorData.ExternalTemperature, 2); } else { monitorData.ExternalTemperature = null; } //_logger.LogInfo("Sending " + messageBody + " for Device: " + _deviceId); await sendMessageAsync(monitorData); } await Task.Delay(TimeSpan.FromSeconds(TelemetryIntervalInSeconds), token); } }
public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync) { var monitorData = new RemoteMonitorTelemetryData(); while (!token.IsCancellationRequested) { if (TelemetryActive) { monitorData.DeviceId = _deviceId; monitorData.RfidTag = _externalTemperatureGenerator.GetNextValue(); await sendMessageAsync(monitorData); } await Task.Delay(TimeSpan.FromSeconds(ReportFrequencyInSeconds), token); } }
public void ExcludingPeaks() { var numberExpectedPeaks = 0; var peaksSeen = 0; double value; var sampleData = new SampleDataGenerator(5, 10); for (var i = 0; i < 120; i++) { value = Math.Round(sampleData.GetNextValue(), 2); if (value > 10) { ++peaksSeen; } } Assert.Equal(numberExpectedPeaks, peaksSeen); }
public void ExpectingPeaks() { int numberExpectedPeaks = 4; int peaksSeen = 0; double value; var sampleData = new SampleDataGenerator(5, 10, 15, 25); for (int i = 0; i < 120; i++) { value = Math.Round(sampleData.GetNextValue(), 2); if (value > 15) { ++peaksSeen; } } Assert.That(numberExpectedPeaks, Is.EqualTo(peaksSeen)); }
public void ChangingSetpointWorksRepeatably() { // this is to check for a bug that manifested when // ShiftSubsequentData() was called several times with // various values IRandomGenerator randomGenerator = new RandomGeneratorStub(0.95); var sampleData = new SampleDataGenerator(10, 20, randomGenerator); sampleData.GetNextValue(); sampleData.ShiftSubsequentData(200); sampleData.GetNextValue(); sampleData.ShiftSubsequentData(2000); // this one will just be 2000 sampleData.GetNextValue(); // this one will likely be different var result1 = sampleData.GetNextValue(); Assert.True(result1 >= 1995); Assert.True(result1 <= 2005); sampleData.ShiftSubsequentData(-2000); // this one will just be -2000 sampleData.GetNextValue(); // this one will likely be different var result2 = sampleData.GetNextValue(); Assert.True(result2 >= -2005); Assert.True(result2 <= -1995); }