diff --git a/fixit/cli.py b/fixit/cli.py index e96c5cd..7ba0424 100644 --- a/fixit/cli.py +++ b/fixit/cli.py @@ -9,6 +9,8 @@ "f2c": convert.fahrenheit_to_celsius, "km2mi": convert.km_to_miles, "mi2km": convert.miles_to_km, + "m2ft": convert.meters_to_feet, + "ft2m": convert.feet_to_meters } diff --git a/fixit/convert.py b/fixit/convert.py index 400b081..d0b2b9e 100644 --- a/fixit/convert.py +++ b/fixit/convert.py @@ -1,7 +1,7 @@ """Unit conversions.""" KM_PER_MILE = 1.609344 - +METERS_PER_FEET = 0.3048 def celsius_to_fahrenheit(c: float) -> float: return c * 9 / 5 + 32 @@ -16,4 +16,11 @@ def km_to_miles(km: float) -> float: def miles_to_km(miles: float) -> float: + return miles / KM_PER_MILE + +def feet_to_meters(feet: float) -> float: + return feet * METERS_PER_FEET + +def meters_to_feet(meters: float) -> float: + return meters / METERS_PER_FEET return miles * KM_PER_MILE diff --git a/tests/test_convert.py b/tests/test_convert.py index f82a496..adc45ab 100644 --- a/tests/test_convert.py +++ b/tests/test_convert.py @@ -1,6 +1,6 @@ import pytest from fixit.convert import (celsius_to_fahrenheit, fahrenheit_to_celsius, - km_to_miles, miles_to_km) + km_to_miles, miles_to_km, feet_to_meters, meters_to_feet) def test_c_to_f(): @@ -18,6 +18,12 @@ def test_miles_to_km(): assert miles_to_km(1) == pytest.approx(1.609344) +def test_ft_to_m(): + assert feet_to_meters(1) == pytest.approx(0.3048) + + +def test_m_to_ft(): + assert meters_to_feet(1) == pytest.approx(3.280839895) def test_negative_celsius(): assert celsius_to_fahrenheit(-20)==-4 @@ -28,4 +34,4 @@ def test_absolute_zero(): assert celsius_to_fahrenheit(-273.15) == pytest.approx(-459.67) def test_float_km_to_miles(): - assert km_to_miles(1.5) == pytest.approx(0.932056788) \ No newline at end of file + assert km_to_miles(1.5) == pytest.approx(0.932056788)