public void KtoC()
        {
            var t = new TemperatureConversions(Temp.Kelvin, Temp.Celsius);

            double k = t.GetConversionResult(-273.15);
            double c = 0;

            Assert.AreEqual(k, c);
        }
        public void KtoF()
        {
            var t = new TemperatureConversions(Temp.Kelvin, Temp.Fahrentheit);

            double k = t.GetConversionResult(-45);
            double f = -540.67;

            Assert.AreEqual(k, f);
        }
        public void CtoF()
        {
            var t = new TemperatureConversions(Temp.Celsius, Temp.Fahrentheit);

            double c = t.GetConversionResult(0);
            double f = 32;

            Assert.AreEqual(c, f);
        }
        public void CtoK()
        {
            var t = new TemperatureConversions(Temp.Celsius, Temp.Kelvin);

            double c = t.GetConversionResult(-273.15);
            double k = 0;

            Assert.AreEqual(c, k);
        }
        public void FtoC()
        {
            var t = new TemperatureConversions(Temp.Fahrentheit, Temp.Kelvin);

            double f = t.GetConversionResult(-32);
            double k = 237.59;

            Assert.AreEqual(f, k);
        }
        public void FtoK()
        {
            var t = new TemperatureConversions(Temp.Fahrentheit, Temp.Kelvin);

            double f = t.GetConversionResult(10);
            double k = 260.93;

            Assert.AreEqual(f, k);

            f = t.GetConversionResult(0);
            k = 255.37;

            Assert.AreEqual(f, k);
        }
        public override bool IsMatch(IPrincipal principal, HttpContextBase httpContext)
        {
            var currentWeather = _weatherService.Service.GetCurrentConditions();

            if (currentWeather == null)
            {
                return(false);
            }

            var Tf   = TemperatureConversions.KelvinToF(currentWeather.CurrentConditions.TemperatureK);
            var Wmph = SpeedConversions.MPStoMPH(currentWeather.CurrentConditions.WindSpeedMetric);

            double TwcF = Tf;

            // Wind chill calculations don't work (and aren't meaningful) for winds of less than 3MPH.
            if (Wmph >= 3)
            {
                TwcF = TemperatureConversions.CalculatedWindChill(Tf, Wmph);
            }

            var temperature = TwcF;

            if (Model.TemperatureScale == Enums.TemperatureScale.Celcius)
            {
                temperature = TemperatureConversions.FahrenheitToCelcius(TwcF);
            }

            if (Model.Condition == Enums.Condition.EqualTo && temperature == Model.Temperature)
            {
                return(true);
            }
            else if (Model.Condition == Enums.Condition.GreaterThan && temperature >= Model.Temperature)
            {
                return(true);
            }
            else if (Model.Condition == Enums.Condition.LessThan && temperature < Model.Temperature)
            {
                return(true);
            }

            return(false);
        }
 public Temperature(double value, TemperatureUnit unit)
 {
     this.Value = value;
     this.Unit = unit;
     temperatureConversions = new TemperatureConversions();
 }