Пример #1
0
        public void EqualsReturnsFalseOnNull()
        {
            RelativeHumidity percent = RelativeHumidity.FromPercent(1);

            Assert.False(percent.Equals(null));
        }
Пример #2
0
        public void DewPointIsCalculatedCorrectly(double expected, double fahrenheit, double relativeHumidity)
        {
            Temperature dewPoint = WeatherHelper.CalculateDewPoint(Temperature.FromDegreesFahrenheit(fahrenheit), RelativeHumidity.FromPercent(relativeHumidity));

            Assert.Equal(expected, Math.Round(dewPoint.DegreesFahrenheit, 2));
        }
Пример #3
0
 /// <summary>
 /// Gets the current relative humidity reading from the sensor.
 /// Reading the humidity takes between 10 ms and 80 ms.
 /// </summary>
 /// <returns>Relative humidity reading</returns>
 public RelativeHumidity GetHumidity()
 {
     Measure();
     return(RelativeHumidity.FromPercent(_humidity));
 }
 public void NumberToPercentTest() =>
 Assert.Equal(RelativeHumidity.FromPercent(2), 2.Percent());
Пример #5
0
        public void HeatIndexIsCalculatedCorrectly(double expected, double celsius, double relativeHumidity)
        {
            Temperature heatIndex = WeatherHelper.CalculateHeatIndex(Temperature.FromDegreesCelsius(celsius), RelativeHumidity.FromPercent(relativeHumidity));

            Assert.Equal(expected, Math.Round(heatIndex.DegreesCelsius));
        }
Пример #6
0
 /// <summary>
 /// Calculates the actual vapor pressure.
 /// </summary>
 /// <param name="airTemperature">The dry air temperature</param>
 /// <param name="relativeHumidity">The relative humidity (RH)</param>
 /// <returns>The actual vapor pressure</returns>
 public static Pressure CalculateActualVaporPressure(Temperature airTemperature, RelativeHumidity relativeHumidity) =>
 Pressure.FromHectopascals((relativeHumidity.Percent / 100.0 * CalculateSaturatedVaporPressureOverWater(airTemperature).Hectopascals));
Пример #7
0
 internal override RelativeHumidity GetHumidity(byte[] readBuff) => RelativeHumidity.FromPercent(readBuff[0] + readBuff[1] * 0.1);
Пример #8
0
        public void Convert_ToSingle_EqualsValueAsSameType()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal((float)quantity.Value, Convert.ToSingle(quantity));
        }
Пример #9
0
        public void Convert_ToString_EqualsToString()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(quantity.ToString(), Convert.ToString(quantity));
        }
Пример #10
0
        public void Convert_ToDecimal_EqualsValueAsSameType()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal((decimal)quantity.Value, Convert.ToDecimal(quantity));
        }
Пример #11
0
        public void Convert_ToInt32_EqualsValueAsSameType()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal((int)quantity.Value, Convert.ToInt32(quantity));
        }
Пример #12
0
        public void Convert_ToDateTime_ThrowsInvalidCastException()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ToDateTime(quantity));
        }
Пример #13
0
        public void ToString_NullProvider_EqualsCurrentUICulture()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(quantity.ToString(CultureInfo.CurrentUICulture, "g"), quantity.ToString(null, "g"));
        }
Пример #14
0
        public void ToString_NullArgs_ThrowsArgumentNullException()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Throws <ArgumentNullException>(() => quantity.ToString(null, "g", null));
        }
Пример #15
0
        public void NegationOperator_ReturnsQuantity_WithNegatedValue(double value)
        {
            var quantity = RelativeHumidity.FromPercent(value);

            Assert.Equal(RelativeHumidity.FromPercent(-value), -quantity);
        }
Пример #16
0
        public void Convert_ToUInt64_EqualsValueAsSameType()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal((ulong)quantity.Value, Convert.ToUInt64(quantity));
        }
Пример #17
0
        /// <summary>
        /// Special function to read DHT sensor, if supported
        /// </summary>
        /// <param name="pinNumber">Pin Number</param>
        /// <param name="dhtType">Type of DHT Sensor: 11 = DHT11, 22 = DHT22, etc.</param>
        /// <param name="temperature">Temperature</param>
        /// <param name="humidity">Relative humidity</param>
        /// <returns>True on success, false otherwise</returns>
        public bool TryReadDht(int pinNumber, int dhtType, out Temperature temperature, out RelativeHumidity humidity)
        {
            Initialize();

            if (!_supportedPinConfigurations[pinNumber].PinModes.Contains(SupportedMode.Dht))
            {
                temperature = default;
                humidity    = default;
                return(false);
            }

            return(Firmata.TryReadDht(pinNumber, dhtType, out temperature, out humidity));
        }
Пример #18
0
        public void Convert_ChangeType_SelfType_EqualsSelf()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(quantity, Convert.ChangeType(quantity, typeof(RelativeHumidity)));
        }
Пример #19
0
        /// <summary>
        /// Calculates the barometric pressure from a raw reading, using the reduction formula from the german met service.
        /// This is a more complex variant of <see cref="CalculateSeaLevelPressure"/>. It gives the value that a weather station gives
        /// for a particular area and is also used in meteorological charts.
        /// Use this method if you also have the relative humidity.
        /// </summary>
        /// <param name="measuredPressure">Measured pressure at the observation point</param>
        /// <param name="measuredTemperature">Measured temperature at the observation point</param>
        /// <param name="measurementAltitude">Height over sea level of the observation point (to be really precise, geopotential heights have
        /// to be used above ~750m)</param>
        /// <param name="relativeHumidity">Relative humidity at point of measurement</param>
        /// <returns>The barometric pressure at the point of observation</returns>
        /// <remarks>
        /// From https://de.wikipedia.org/wiki/Barometrische_Höhenformel#Anwendungen
        /// </remarks>
        public static Pressure CalculateBarometricPressure(Pressure measuredPressure, Temperature measuredTemperature,
                                                           Length measurementAltitude, RelativeHumidity relativeHumidity)
        {
            Pressure vaporPressure = CalculateActualVaporPressure(measuredTemperature, relativeHumidity);

            return(CalculateBarometricPressure(measuredPressure, measuredTemperature, vaporPressure,
                                               measurementAltitude));
        }
Пример #20
0
        public void Convert_ChangeType_UnitType_EqualsUnit()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(quantity.Unit, Convert.ChangeType(quantity, typeof(RelativeHumidityUnit)));
        }
Пример #21
0
 internal override RelativeHumidity GetHumidity(Span <byte> readBuff) => RelativeHumidity.FromPercent((readBuff[0] << 8 | readBuff[1]) * 0.1);
Пример #22
0
        public void Convert_ChangeType_QuantityInfo_EqualsQuantityInfo()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(RelativeHumidity.Info, Convert.ChangeType(quantity, typeof(QuantityInfo)));
        }
Пример #23
0
        public void CalculateBarometricPressureWithHumidity(double measuredValue, double temperature, double altitude, double relativeHumidity,
                                                            double expected)
        {
            Pressure result = WeatherHelper.CalculateBarometricPressure(Pressure.FromHectopascals(measuredValue),
                                                                        Temperature.FromDegreesCelsius(temperature), Length.FromMeters(altitude), RelativeHumidity.FromPercent(relativeHumidity));

            Assert.Equal(expected, result.Hectopascals, 2);
        }
Пример #24
0
        public void Convert_ChangeType_BaseDimensions_EqualsBaseDimensions()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(RelativeHumidity.BaseDimensions, Convert.ChangeType(quantity, typeof(BaseDimensions)));
        }
Пример #25
0
        public void ActualVaporPressureIsCalculatedCorrectly(double expected, double celsius, double relativeHumidity)
        {
            Pressure actualVaporPressure = WeatherHelper.CalculateActualVaporPressure(Temperature.FromDegreesCelsius(celsius), RelativeHumidity.FromPercent(relativeHumidity));

            Assert.Equal(expected, Math.Round(actualVaporPressure.Pascals, 0));
        }
Пример #26
0
        public void Convert_ChangeType_InvalidType_ThrowsInvalidCastException()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Throws <InvalidCastException>(() => Convert.ChangeType(quantity, typeof(QuantityFormatter)));
        }
Пример #27
0
        public void AbsoluteHumidityIsCalculatedCorrectly(double expected, double fahrenheit, double relativeHumidity)
        {
            Density absoluteHumidity = WeatherHelper.CalculateAbsoluteHumidity(Temperature.FromDegreesFahrenheit(fahrenheit), RelativeHumidity.FromPercent(relativeHumidity));

            Assert.Equal(expected, absoluteHumidity.GramsPerCubicMeter, 0);
        }
Пример #28
0
        public void GetHashCode_Equals()
        {
            var quantity = RelativeHumidity.FromPercent(1.0);

            Assert.Equal(new { RelativeHumidity.Info.Name, quantity.Value, quantity.Unit }.GetHashCode(), quantity.GetHashCode());
        }
Пример #29
0
        internal override RelativeHumidity GetHumidity(byte[] readBuff)
        {
            int raw = (((readBuff[1] << 8) | readBuff[2]) << 4) | readBuff[3] >> 4;

            return(RelativeHumidity.FromPercent(100.0 * raw / Math.Pow(2, 20)));
        }
Пример #30
0
        public void EqualsReturnsFalseOnTypeMismatch()
        {
            RelativeHumidity percent = RelativeHumidity.FromPercent(1);

            Assert.False(percent.Equals(new object()));
        }