embedded-unit-converter/test.py

39 lines
1.1 KiB
Python
Raw Normal View History

2019-11-05 10:00:30 -05:00
import random
import unit_converter
2019-10-30 10:37:01 -04:00
def python_unit_converter(celsius):
return celsius * 1.8 + 32.0
2019-11-05 22:29:47 -05:00
def batch_python_unit_converter(temperatures):
return [celsius * 1.8 + 32.0 for celsius in temperatures]
def test_using_unit_converter():
assert unit_converter.convert_celsius_to_fahrenheit(25.0) == 77.0
2019-10-30 10:37:01 -04:00
assert python_unit_converter(25.0) == 77.0
2019-11-05 10:00:30 -05:00
def test_using_python_constant(benchmark):
2019-10-30 10:37:01 -04:00
result = benchmark(python_unit_converter, 25.0)
2019-11-05 10:00:30 -05:00
assert round(result, 3) == round(77.0, 3)
2019-10-30 10:37:01 -04:00
2019-11-05 10:00:30 -05:00
def test_using_rust_constant(benchmark):
2019-10-30 10:37:01 -04:00
result = benchmark(unit_converter.convert_celsius_to_fahrenheit, 25.0)
2019-11-05 10:00:30 -05:00
assert round(result, 3) == round(77.0, 3)
def test_using_python(benchmark):
temperature = random.random() * 100
result = benchmark(python_unit_converter, temperature)
assert round(result, 3) == round(python_unit_converter(temperature), 3)
def test_using_rust(benchmark):
temperature = random.random() * 100
result = benchmark(unit_converter.convert_celsius_to_fahrenheit, temperature)
assert round(result, 3) == round(python_unit_converter(temperature), 3)