Skip to content

Commit 197c8bc

Browse files
Fix wrong conversion
1 parent f8885f7 commit 197c8bc

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

app/src/main/java/org/groundplatform/android/ui/util/PolygonUtil.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import org.groundplatform.android.model.settings.MeasurementUnits
2525

2626
@VisibleForTesting const val SQUARE_METERS_PER_ACRE = 4046.86
2727
@VisibleForTesting const val SQUARE_METERS_PER_HECTARE = 10_000
28+
@VisibleForTesting const val SQUARE_FEET_PER_SQUARE_METER = 10.7639
2829

2930
/**
3031
* Calculates the area of a polygon using the Shoelace formula.
@@ -61,7 +62,7 @@ fun getFormattedArea(areaInSquareMeters: Double, measurementUnits: MeasurementUn
6162
}
6263
MeasurementUnits.IMPERIAL ->
6364
if (areaInSquareMeters < SQUARE_METERS_PER_ACRE) {
64-
areaInSquareMeters to "ft²"
65+
areaInSquareMeters * SQUARE_FEET_PER_SQUARE_METER to "ft²"
6566
} else {
6667
areaInSquareMeters / SQUARE_METERS_PER_ACRE to "ac"
6768
}

app/src/test/java/org/groundplatform/android/util/PolygonUtilTest.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import kotlin.test.Test
2222
import kotlin.test.assertTrue
2323
import org.groundplatform.android.model.geometry.Coordinates
2424
import org.groundplatform.android.model.settings.MeasurementUnits
25+
import org.groundplatform.android.ui.util.SQUARE_FEET_PER_SQUARE_METER
2526
import org.groundplatform.android.ui.util.SQUARE_METERS_PER_ACRE
2627
import org.groundplatform.android.ui.util.SQUARE_METERS_PER_HECTARE
2728
import org.groundplatform.android.ui.util.calculateShoelacePolygonArea
@@ -200,7 +201,12 @@ class PolygonUtilTest {
200201
fun `Should display area in square feet if it's below an acre`() {
201202
val areaInSquareMeters = 2000.0
202203
val result = getFormattedArea(areaInSquareMeters, MeasurementUnits.IMPERIAL)
203-
val expected = String.format(Locale.getDefault(), "%.2f ft²", areaInSquareMeters)
204+
val expected =
205+
String.format(
206+
Locale.getDefault(),
207+
"%.2f ft²",
208+
areaInSquareMeters * SQUARE_FEET_PER_SQUARE_METER,
209+
)
204210
assertEquals(expected, result)
205211
}
206212

0 commit comments

Comments
 (0)