From 394cbed625c4ddab207180ba8960e54190344950 Mon Sep 17 00:00:00 2001 From: Khushleen Kaur Date: Tue, 13 Oct 2026 17:33:45 +0530 Subject: [PATCH] feat: add m2ft and ft2m conversions --- fixit/cli.py | 2 ++ fixit/convert.py | 8 +++++++- tests/test_convert.py | 10 +++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) 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 845b8ba..fca0e91 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 @@ -17,3 +17,9 @@ 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 diff --git a/tests/test_convert.py b/tests/test_convert.py index 196453e..3a40245 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,3 +18,11 @@ def test_km_to_miles(): @pytest.mark.xfail(reason="Known bug: miles_to_km divides instead of multiplies") 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)