public void CurrentTemperatureDisplay() { WeatherMeasurements subject = new WeatherMeasurements(); CurrentObserver observer = new CurrentObserver(subject); String expected = "Temperature:\t0,Humidity:\t\t0,Pressure:\t\t0"; String actual = observer.Display(); subject.NotifyObservers(); Assert.AreEqual(expected, actual); }
public WeatherMeasurements GetWeatherMeasurements(string deviceId, string measuredDate, string sensorType) { try { CreateStorageAccountFromConnectionString(); // Create file path from deviceId, sensorType and measuredDate var prefix = string.Join("/", deviceId, sensorType); var fileName = string.Join(".", measuredDate, "csv"); var path = string.Join("/", prefix, fileName); // Create a blob client for interacting with the blob service. CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); // Create a container for organizing blobs within the storage account. CloudBlobContainer container = blobClient.GetContainerReference(CONTAINER); CloudAppendBlob appendBlob = container.GetAppendBlobReference(path); if (appendBlob.Exists()) { WeatherMeasurements weatherMeasurements = new WeatherMeasurements(deviceId, measuredDate, sensorType); using (var memoryStream = new MemoryStream()) { appendBlob.DownloadToStream(memoryStream); memoryStream.Position = 0; var text = Encoding.ASCII.GetString(memoryStream.ToArray()); using (var reader = new StreamReader(memoryStream, Encoding.ASCII)) { string line = String.Empty; while ((line = reader.ReadLine()) != null) { string[] val = line.Split(';'); AtomicMeasurements atomic = new AtomicMeasurements(val[0], val[1]); weatherMeasurements.Measurements.Add(atomic); } } } return(weatherMeasurements); } else { throw new FileNotFoundException(); } } catch (Exception ex) { throw ex; } }
public void ForcastDisplay() { WeatherMeasurements subject = new WeatherMeasurements(); ForecastObserver observer = new ForecastObserver(subject); subject.Measurements.UpdateMeasurements(30, 85, 992); subject.NotifyObservers(); String expected = "Warm temperatures, high humidity, low pressure."; String actual = observer.Display(); subject.NotifyObservers(); Assert.AreEqual(expected, actual); }
public void AverageTemperatureDisplay() { WeatherMeasurements subject = new WeatherMeasurements(); AveragesObserver observer = new AveragesObserver(subject); subject.Measurements.UpdateMeasurements(5, 5, 5); subject.NotifyObservers(); subject.Measurements.UpdateMeasurements(7, 7, 7); subject.NotifyObservers(); String expected = "Temperature:\t6,Humidity:\t\t6,Pressure:\t\t6"; String actual = observer.Display(); Assert.AreEqual(expected, actual); }
public void Update(WeatherMeasurements measurment) { _numberOfReadings++; // If we add celcius support we can do conversion here. For now assume farenheit double normalizedTemperatureValue = measurment.Temperature.Value; _temperatureSum += normalizedTemperatureValue; if (normalizedTemperatureValue > _maxTemperatureOccurance) { _maxTemperatureOccurance = normalizedTemperatureValue; } if (normalizedTemperatureValue < _minTemperatureOccurance) { _minTemperatureOccurance = normalizedTemperatureValue; } Display(); }
public void Update(WeatherMeasurements measurment) { double t = measurment.Temperature.Value; double rh = measurment.Humidty; _heatIndex = (double) ( (16.923 + (0.185212 * t)) + (5.37941 * rh) - (0.100254 * t * rh) + (0.00941695 * (t * t)) + (0.00728898 * (rh * rh)) + (0.000345372 * (t * t * rh)) - (0.000814971 * (t * rh * rh)) + (0.0000102102 * (t * t * rh * rh)) - (0.000038646 * (t * t * t)) + (0.0000291583 * (rh * rh * rh)) + (0.00000142721 * (t * t * t * rh)) + (0.000000197483 * (t * rh * rh * rh)) - (0.0000000218429 * (t * t * t * rh * rh)) + (0.000000000843296 * (t * t * rh * rh * rh)) - (0.0000000000481975 * (t * t * t * rh * rh * rh))); Display(); }
public void Update(WeatherMeasurements measurment) { _currentWeatherMeasurements = measurment; Display(); }
public void Update(WeatherMeasurements measurment) { lastPressure = currentPressure; currentPressure = measurment.Pressure; Display(); }