private async Task FullSensorValueTestAsync(SensorValueBase sensorValue, GetValuesFromCache getCachedValues, GetSensorHistoryData getSensorHistoryData, GetSensorInfo getSensorInfo) { await Task.Delay(100); TestSensorDataFromCache(sensorValue, getCachedValues); TestSensorHistoryDataFromDB(sensorValue, getSensorHistoryData); TestSensorInfoFromDB(sensorValue, getSensorInfo); }
private void TestSensorDataFromCache(SensorValueBase sensorValue, GetValuesFromCache getCachedValues) { var sensorDataFromCache = getCachedValues?.Invoke(new List <string>(1) { _testProductName }) ?.FirstOrDefault(s => s.Path == sensorValue.Path); _sensorValuesTester.TestSensorDataFromCache(sensorValue, sensorDataFromCache); }
private async Task FullSeveralSensorValuesTestAsync(List <SensorValueBase> sensorValues, GetValuesFromCache getCachedValues, GetAllSensorHistoryData getAllSensorHistoryData, GetAllSensorInfo getAllSensorInfo, int?time = null) { await Task.Delay(sensorValues.Count); var sensorsDict = sensorValues.GroupBy(s => s.Path) .ToDictionary(s => s.Key, s => s.ToList()); TestSeveralSensorDataFromCache(sensorsDict, getCachedValues); TestSeveralSensorHistoryDataFromDB(sensorsDict, getAllSensorHistoryData); TestSeveralSensorInfoFromDB(sensorsDict, getAllSensorInfo); }
private void TestSeveralSensorDataFromCache(Dictionary <string, List <SensorValueBase> > sensorValues, GetValuesFromCache getValuesFromCache) { var cache = getValuesFromCache?.Invoke(new List <string>(1) { _testProductName }) ?.ToDictionary(s => s.Path); foreach (var sensors in sensorValues) { _sensorValuesTester.TestSensorDataFromCache(sensors.Value.LastOrDefault(), cache[sensors.Key]); } }