diff --git a/app/src/main/java/com/geeksville/mesh/NodeInfo.kt b/app/src/main/java/com/geeksville/mesh/NodeInfo.kt index 2b4e32cd6..60eab32ce 100644 --- a/app/src/main/java/com/geeksville/mesh/NodeInfo.kt +++ b/app/src/main/java/com/geeksville/mesh/NodeInfo.kt @@ -125,7 +125,7 @@ data class NodeInfo( fun distanceStr(o: NodeInfo?) = distance(o)?.let { dist -> when { dist == 0 -> null // same point - dist < 1000 -> "%.0f m".format(dist) + dist < 1000 -> "%.0f m".format(dist.toDouble()) else -> "%.1f km".format(dist / 1000.0) } } diff --git a/app/src/test/java/com/geeksville/mesh/NodeInfoTest.kt b/app/src/test/java/com/geeksville/mesh/NodeInfoTest.kt new file mode 100644 index 000000000..f6805b7e7 --- /dev/null +++ b/app/src/test/java/com/geeksville/mesh/NodeInfoTest.kt @@ -0,0 +1,22 @@ +package com.geeksville.mesh + +import org.junit.Assert +import org.junit.Test + +class NodeInfoTest { + val ni1 = NodeInfo(4, MeshUser("+one", "User One", "U1"), Position(37.1, 121.1, 35)) + val ni2 = NodeInfo(5, MeshUser("+two", "User Two", "U2"), Position(37.11, 121.1, 40)) + val ni3 = NodeInfo(6, MeshUser("+three", "User Three", "U3"), Position(37.101, 121.1, 40)) + + @Test + fun distanceGood() { + Assert.assertEquals(ni1.distance(ni2), 1111) + Assert.assertEquals(ni1.distance(ni3), 111) + } + + @Test + fun distanceStrGood() { + Assert.assertEquals(ni1.distanceStr(ni2), "1.1 km") + Assert.assertEquals(ni1.distanceStr(ni3), "111 m") + } +}