Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_error_checking():
"""Test exception raising."""
with pytest.raises(ValueError):
temperature("32C")
with pytest.raises(ValueError):
temperature("M10F")
with pytest.raises(UnitsError):
temperature("32", "J")
with pytest.raises(UnitsError):
temperature(temperature("32").value, "J")
with pytest.raises(UnitsError):
temperature(temperature("32").string, "J")
def test_conversions():
"""Test unit conversions."""
assert temperature("32", "F").value("F") == 32.0
assert temperature("32", "F").value("C") == 0.0
assert temperature("50", "F").value("C") == 10.0
assert temperature("32", "F").value("K") == 273.15
assert temperature("20", "C").value("C") == 20.0
assert temperature("M10", "C").value("F") == 14.0
assert temperature("M0", "C").value("F") == 32.0
assert temperature("20", "C").value("K") == 293.15
assert temperature("20", "C").value("F") == 68.0
assert temperature("30", "C").value("F") == 86.0
assert temperature("263.15", "K").value("K") == 263.15
assert temperature("263.15", "K").value("C") == -10.0
assert temperature("263.15", "K").value("F") == 14.0
assert temperature("10", "C").string("C") == "10.0 C"
assert temperature("10", "C").string("F") == "50.0 F"
assert temperature("10", "C").string("K") == "283.1 K"
def test_defaults():
"""Test basic usage."""
assert temperature("32").value() == 32.0
assert temperature("32").value("C") == 32.0
assert temperature("32").string() == "32.0 C"
assert temperature("32", "F").string() == "32.0 F"
def test_inputs():
"""Test various inputs."""
assert temperature("32").value() == 32.0
assert temperature(32).value() == 32.0
assert temperature(32.0).value() == 32.0
assert temperature("32", "c").value() == 32.0
assert temperature("32", "f").value() == 32.0
assert temperature("32", "k").value() == 32.0
assert temperature("50", "F").value("c") == 10.0
assert temperature("50", "f").value("C") == 10.0
def test_inputs():
"""Test various inputs."""
assert temperature("32").value() == 32.0
assert temperature(32).value() == 32.0
assert temperature(32.0).value() == 32.0
assert temperature("32", "c").value() == 32.0
assert temperature("32", "f").value() == 32.0
assert temperature("32", "k").value() == 32.0
assert temperature("50", "F").value("c") == 10.0
assert temperature("50", "f").value("C") == 10.0
def test_error_checking():
"""Test exception raising."""
with pytest.raises(ValueError):
temperature("32C")
with pytest.raises(ValueError):
temperature("M10F")
with pytest.raises(UnitsError):
temperature("32", "J")
with pytest.raises(UnitsError):
temperature(temperature("32").value, "J")
with pytest.raises(UnitsError):
temperature(temperature("32").string, "J")
def test_conversions():
"""Test unit conversions."""
assert temperature("32", "F").value("F") == 32.0
assert temperature("32", "F").value("C") == 0.0
assert temperature("50", "F").value("C") == 10.0
assert temperature("32", "F").value("K") == 273.15
assert temperature("20", "C").value("C") == 20.0
assert temperature("M10", "C").value("F") == 14.0
assert temperature("M0", "C").value("F") == 32.0
assert temperature("20", "C").value("K") == 293.15
assert temperature("20", "C").value("F") == 68.0
assert temperature("30", "C").value("F") == 86.0
assert temperature("263.15", "K").value("K") == 263.15
assert temperature("263.15", "K").value("C") == -10.0
assert temperature("263.15", "K").value("F") == 14.0
assert temperature("10", "C").string("C") == "10.0 C"
assert temperature("10", "C").string("F") == "50.0 F"
assert temperature("10", "C").string("K") == "283.1 K"
def test_inputs():
"""Test various inputs."""
assert temperature("32").value() == 32.0
assert temperature(32).value() == 32.0
assert temperature(32.0).value() == 32.0
assert temperature("32", "c").value() == 32.0
assert temperature("32", "f").value() == 32.0
assert temperature("32", "k").value() == 32.0
assert temperature("50", "F").value("c") == 10.0
assert temperature("50", "f").value("C") == 10.0
def _handleTemp(self, d):
"""
Parse a temperature-dewpoint group.
The following attributes are set:
temp temperature (Celsius) [float]
dewpt dew point (Celsius) [float]
"""
temp = d["temp"]
dewpt = d["dewpt"]
if temp and temp != "//" and temp != "XX" and temp != "MM":
self.temp = temperature(temp)
if dewpt and dewpt != "//" and dewpt != "XX" and dewpt != "MM":
self.dewpt = temperature(dewpt)
def _handleTemp6hrRemark(self, d):
"""
Parse a 6-hour maximum or minimum temperature remark group.
"""
value = float(d["temp"]) / 10.0
if d["sign"] == "1":
value = -value
if d["type"] == "1":
self.max_temp_6hr = temperature(value, "C")
else:
self.min_temp_6hr = temperature(value, "C")