public void Fahrenheit_To_Celsius()
        {
            double toConvert      = 79.25;
            double convertedValue = TemperatureHelper.FahrenheitToCelsius(toConvert);

            Assert.Equal(26.25, convertedValue);
        }
        public void Fahrenheit_To_Kelvin()
        {
            double toConvert      = 79.25;
            double convertedValue = TemperatureHelper.FahrenheitToKelvin(toConvert);

            Assert.Equal(299.4, convertedValue);
        }
        public void Celsius_To_Fahrenheit()
        {
            double toConvert      = 20;
            double convertedValue = TemperatureHelper.CelsiusToFahrenheit(toConvert);

            Assert.Equal(68, convertedValue);
        }
        public void Celsius_To_Kelvin()
        {
            double toConvert      = 20;
            double convertedValue = TemperatureHelper.CelsiusToKelvin(toConvert);

            Assert.Equal(293.15, convertedValue);
        }
        public void Kelvin_To_Celsius()
        {
            double toConvert      = 293.15;
            double convertedValue = TemperatureHelper.KelvinToCelsius(toConvert);

            Assert.Equal(20, convertedValue);
        }
Exemple #6
0
        public void summary_test_sweltering()
        {
            int tempC   = 28;
            var summary = TemperatureHelper.GetSummary(tempC);

            Assert.IsTrue(summary == "Sweltering");
        }
        protected WeatherModel CalculateUnMappableValues(WeatherModel model, int precision, TemperatureUOM temperatureUOM)
        {
            model.TemperatureCelsius    = TemperatureHelper.KelvinToCelsius(model.TemperatureKelvin, precision);
            model.TemperatureFahrenheit = TemperatureHelper.KelvinToFahrenheit(model.TemperatureKelvin, precision);

            switch (temperatureUOM)
            {
            case TemperatureUOM.Celsius:
                model.Temperature = model.TemperatureCelsius;
                break;

            case TemperatureUOM.Fahrenheit:
                model.Temperature = model.TemperatureFahrenheit;
                break;

            case TemperatureUOM.Kelvin:
                model.Temperature = model.TemperatureKelvin;
                break;

            default:
                model.Temperature = model.TemperatureCelsius;
                break;
            }

            DateTime sunrise = model.SunRiseMilliseconds.ConvertFromUnixTimestamp();
            DateTime sunset  = model.SunSetMilliSeconds.ConvertFromUnixTimestamp();

            model.SunRise = sunrise.ToString("HH:mm");
            model.SunSet  = sunset.ToString("HH:mm");

            return(model);
        }
        public void Kelvin_To_Fahrenheit()
        {
            double toConvert      = 293.15;
            double convertedValue = TemperatureHelper.KelvinToFahrenheit(toConvert);

            Assert.Equal(68, convertedValue);
        }
Exemple #9
0
        public void summary_test_hot()
        {
            int tempC   = 24;
            var summary = TemperatureHelper.GetSummary(tempC);

            Assert.IsTrue(summary == "Hot");
        }
Exemple #10
0
        public void summary_test_freezing()
        {
            int tempC   = -8;
            var summary = TemperatureHelper.GetSummary(tempC);

            Assert.IsTrue(summary == "Freezing");
        }
Exemple #11
0
        public void summary_test_cool()
        {
            int tempC   = 8;
            var summary = TemperatureHelper.GetSummary(tempC);

            Assert.IsTrue(summary == "Cool");
        }
Exemple #12
0
        public double ConvertTemperature(TemperatureUom targetUom)
        {
            double result = 0;

            switch (TemperatureUom)
            {
            case TemperatureUom.Kelvin:
                if (targetUom == TemperatureUom.Celsius)
                {
                    result = TemperatureHelper.KelvinToCelsius(Temperature);
                }
                else if (targetUom == TemperatureUom.Fahrenheit)
                {
                    result = TemperatureHelper.KelvinToFahrenheit(Temperature);
                }
                else
                {
                    result = Temperature;
                }
                break;

            case TemperatureUom.Fahrenheit:
                if (targetUom == TemperatureUom.Celsius)
                {
                    result = TemperatureHelper.FahrenheitToCelsius(Temperature);
                }
                else if (targetUom == TemperatureUom.Kelvin)
                {
                    result = TemperatureHelper.FahrenheitToKelvin(Temperature);
                }
                else
                {
                    result = Temperature;
                }
                break;

            case TemperatureUom.Celsius:
                if (targetUom == TemperatureUom.Kelvin)
                {
                    result = TemperatureHelper.CelsiusToKelvin(Temperature);
                }
                else if (targetUom == TemperatureUom.Fahrenheit)
                {
                    result = TemperatureHelper.CelsiusToFahrenheit(Temperature);
                }
                else
                {
                    result = Temperature;
                }
                break;
            }

            Temperature    = result;
            TemperatureUom = targetUom;

            return(result);
        }
Exemple #13
0
        private MeasurementCore()
        {
            MeasurementSteps = new WSICollection <StepSettings>();
#if WithoutDevices
            MeasurementSteps.SelectedItemChanged += MeasurementSteps_SelectedItemChanged;
#endif
            _tempHelper      = new TemperatureHelper(MeasurementSteps);
            _timer           = new System.Timers.Timer(200);
            _timer.AutoReset = true;
            _timer.Elapsed  += _timer_Elapsed;
            _temperatureRate = new MovableAverage(10);
        }
        public void Fahrenheit_To_Celsius_Correct()
        {
            // Arrange
            double fahrenheit = 100;

            // Act
            double result        = TemperatureHelper.FahrenheitToCelsius(fahrenheit);
            double resultRounded = TemperatureHelper.FahrenheitToCelsius(fahrenheit, 0);

            // Assert
            Assert.Equal(37.78, result);
            Assert.Equal(38, resultRounded);
        }
        public void Kelvin_To_Celsius_Correct()
        {
            // Arrange
            double kelvin = 290;

            // Act
            double result        = TemperatureHelper.KelvinToCelsius(kelvin);
            double resultRounded = TemperatureHelper.KelvinToCelsius(kelvin, 0);

            // Assert
            Assert.Equal(16.85, result);
            Assert.Equal(17, resultRounded);
        }
        public void Fahrenheit_To_Kelvin_Correct()
        {
            // Arrange
            double fahrenheit = 100;

            // Act
            double result        = TemperatureHelper.FahrenheitToKelvin(fahrenheit);
            double resultRounded = TemperatureHelper.FahrenheitToKelvin(fahrenheit, 0);

            // Assert
            Assert.Equal(310.78, result);
            Assert.Equal(311, resultRounded);
        }
        public void Celsius_To_Fahrenheit_Correct()
        {
            // Arrange
            double celsius = 18;

            // Act
            double result        = TemperatureHelper.CelsiusToFahrenheit(celsius);
            double resultRounded = TemperatureHelper.CelsiusToFahrenheit(celsius, 0);

            // Assert
            Assert.Equal(64.4, result);
            Assert.Equal(64, resultRounded);
        }
        public void Celsius_To_Kelvin_Correct()
        {
            // Arrange
            double celsius = 20;

            // Act
            double result        = TemperatureHelper.CelsiusToKelvin(celsius);
            double resultRounded = TemperatureHelper.CelsiusToKelvin(celsius, 0);

            // Assert
            Assert.Equal(293.15, result);
            Assert.Equal(293, resultRounded);
        }
        public void Kelvin_To_Fahrenheit_Correct()
        {
            // Arrange
            double kelvin = 290;

            // Act
            double result        = TemperatureHelper.KelvinToFahrenheit(kelvin);
            double resultRounded = TemperatureHelper.KelvinToFahrenheit(kelvin, 0);

            // Assert
            Assert.Equal(62.6, result);
            Assert.Equal(63, resultRounded);
        }
 public static MeasurementDto FromModel(Measurement measurement)
 {
     return(measurement != null
         ? new MeasurementDto
     {
         DeviceUuid = measurement.DeviceUuid,
         Temperature = measurement.Temperature,
         Humidity = measurement.Humidity,
         HeatIndex = TemperatureHelper.GetHeatIndex(measurement.Temperature, measurement.Humidity),
         TimeStamp = DateTime.SpecifyKind(measurement.TimeStamp, DateTimeKind.Utc)
     }
         : null);
 }
        private Grid GetGridForLocationForecastInstant(LocationForecastInstant instant)
        {
            var instantDetails = instant.data.instant.details;
            var newGrid        = new Grid();

            newGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(80)
            });
            newGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(50)
            });
            newGrid.ColumnDefinitions.Add(new ColumnDefinition());
            newGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(80)
            });

            var timeLabel = new Label();

            timeLabel.Content = instant.time.ToLocalTime().ToString("MM/dd htt");
            Grid.SetColumn(timeLabel, 0);
            newGrid.Children.Add(timeLabel);

            var temperatureLabel     = new Label();
            var farenheitTemperature = TemperatureHelper.ConvertCentrigradeToFarenheit(instantDetails.air_temperature);

            temperatureLabel.Content = Math.Round(farenheitTemperature, 1) + "°F";
            Grid.SetColumn(temperatureLabel, 1);
            newGrid.Children.Add(temperatureLabel);

            var descriptionLabel    = new Label();
            var forecastDescription = instant.data.next_1_hours["summary"]["symbol_code"].ToString();
            var friendlyDescription = ForecastHelper.GetFriendlyStringFromForecast(forecastDescription);

            descriptionLabel.Content = friendlyDescription;
            Grid.SetColumn(descriptionLabel, 2);
            newGrid.Children.Add(descriptionLabel);

            var windLabel       = new Label();
            var windCardinality = WindHelper.GetWindDirectionFromDegrees(instantDetails.wind_from_direction);
            var windSpeedInMPH  = Math.Round(WindHelper.ConvertMetersPerSecondToMPH(instantDetails.wind_speed), 1);

            windLabel.Content = $"{windCardinality} {windSpeedInMPH} MPH";
            Grid.SetColumn(windLabel, 3);
            newGrid.Children.Add(windLabel);

            return(newGrid);
        }
Exemple #22
0
 public double temperatureInCelsius()
 {
     return(TemperatureHelper.convertToCelsius(temp));
 }
        private void GetWeatherForecast()
        {
            Dispatcher.InvokeAsync(new Action(async() =>
            {
                try
                {
                    int zip    = 0;
                    var wasInt = Int32.TryParse(ZipTextBox.Text, out zip);
                    if (!wasInt)
                    {
                        // Not a zip code
                        return;
                    }

                    if (_ApplicationOptions.SelectedZip == null || zip != _ApplicationOptions.SelectedZip.Zip)
                    {
                        var allZipCodes = _GeographyService.GetZipCodeInfo();
                        var thisZipCode = allZipCodes.FirstOrDefault(x => x.Zip == zip);
                        if (thisZipCode == null)
                        {
                            // Invalid zip code
                            return;
                        }

                        _ApplicationOptions.SelectedZip = thisZipCode;
                        _OptionsService.SaveOptions(_ApplicationOptions);
                    }

                    if (UseMetNoAPI)
                    {
                        var forecast    = await _MetNoClient.GetWeatherInfoForPoint(_ApplicationOptions.SelectedZip.Lat, _ApplicationOptions.SelectedZip.Lon);
                        var next24Hours = forecast.properties.timeseries.Take(24);

                        HourlyForecastStack.Children.Clear();
                        HourlyForecastStack.Children.Add(GetGridHeader());
                        foreach (var hour in next24Hours)
                        {
                            HourlyForecastStack.Children.Add(GetGridForLocationForecastInstant(hour));
                        }

                        var firstPeriod = forecast.properties.timeseries.First();

                        var temperature          = firstPeriod.data.instant.details.air_temperature;
                        var temperatureFarenheit = TemperatureHelper.ConvertCentrigradeToFarenheit(temperature);
                        var temperatureString    = Math.Round(temperatureFarenheit).ToString();
                        var forecastDescription  = firstPeriod.data.next_1_hours["summary"]["symbol_code"].ToString();
                        var friendlyDescription  = ForecastHelper.GetFriendlyStringFromForecast(forecastDescription);
                        var isDayTime            = DateTime.Now.TimeOfDay.Hours > 7 && DateTime.Now.TimeOfDay.Hours < 19;
                        // If the last temperature was different from this one, we update our icon and window title.
                        if (string.IsNullOrEmpty(_MostRecentTemperature) || !String.Equals(_MostRecentTemperature, temperature))
                        {
                            _MostRecentTemperature = temperatureString;

                            var icon = _WeatherIconService.GetWeatherIcon(new WeatherIconInfo()
                            {
                                TemperatureInFarenheit = temperatureString,
                                ForecastDescription    = friendlyDescription,
                                IsDayTime = isDayTime
                            });

                            this.Icon  = icon;
                            this.Title = $"{temperatureString}° - {friendlyDescription}";
                        }
                    }
                    else
                    {
                        var pointInfo = await _NOAAClient.GetHourlyForecastForPoint(_ApplicationOptions.SelectedZip.Lat, _ApplicationOptions.SelectedZip.Lon);
                        if (pointInfo == null || pointInfo.Properties == null)
                        {
                            return;
                        }

                        // Populate forecast
                        var next24Hours = pointInfo.Properties.periods.Take(24);
                        HourlyForecastStack.Children.Clear();
                        HourlyForecastStack.Children.Add(GetGridHeader());
                        foreach (var hour in next24Hours)
                        {
                            HourlyForecastStack.Children.Add(GetGridForForecastPeriod(hour));
                        }

                        var firstPeriod = pointInfo.Properties.periods[0];

                        var temperature         = firstPeriod.temperature.ToString();
                        var forecastDescription = firstPeriod.shortForecast;
                        var isDayTime           = DateTime.Now.TimeOfDay.Hours > 7 && DateTime.Now.TimeOfDay.Hours < 19;
                        // If the last temperature was different from this one, we update our icon and window title.
                        if (string.IsNullOrEmpty(_MostRecentTemperature) || !String.Equals(_MostRecentTemperature, temperature))
                        {
                            _MostRecentTemperature = temperature;

                            var icon = _WeatherIconService.GetWeatherIcon(new WeatherIconInfo()
                            {
                                TemperatureInFarenheit = temperature,
                                ForecastDescription    = forecastDescription,
                                IsDayTime = isDayTime
                            });

                            this.Icon  = icon;
                            this.Title = $"{temperature}° - {forecastDescription}";
                        }
                    }
                }
                catch (Exception ex)
                {
                    ErrorHelper.EmitError(ex);
                }
            }));
        }