Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
project/
target/
target/
.idea
6 changes: 4 additions & 2 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,22 @@ organization := "com.github.trifectalabs"

scalaVersion := "2.11.6"

libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.10" % "test"

publishMavenStyle := true

publishArtifact in Test := false

pomIncludeRepository := { _ => false }

crossScalaVersions := List("2.11.6", "2.12.15", "2.13.7")

publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value)
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
Some("releases" at nexus + "service/local/staging/deploy/maven2")
}

pomExtra :=
Expand Down
123 changes: 108 additions & 15 deletions src/test/scala/main/PolylineTest.scala
Original file line number Diff line number Diff line change
@@ -1,17 +1,58 @@
package com.trifectalabs.polyline

import org.scalatest.WordSpec
import org.scalatest.wordspec.AnyWordSpec

class PolylineTest extends WordSpec {
val coordinates1 = List(
LatLng(38.5, -120.2),
LatLng(40.7, -120.95),
LatLng(43.252, -126.453))
class PolylineTest extends AnyWordSpec {
val coordinates1 = List(LatLng(38.5, -120.2), LatLng(40.7, -120.95), LatLng(43.252, -126.453))
val coordinates2 = List(
LatLng(43.525524, -80.288602),
LatLng(44.285024, -81.294820)
)
val coordinates3 = List(LatLng(43.44659,-80.54960), LatLng(43.44715,-80.55008), LatLng(43.44734,-80.55029), LatLng(43.44734,-80.55029), LatLng(43.44782,-80.55087), LatLng(43.44790,-80.55097), LatLng(43.44790,-80.55097), LatLng(43.44808,-80.55068), LatLng(43.44835,-80.55009), LatLng(43.44835,-80.55009), LatLng(43.44841,-80.54993), LatLng(43.44841,-80.54993), LatLng(43.44992,-80.55118), LatLng(43.44992,-80.55118), LatLng(43.45082,-80.55192), LatLng(43.45082,-80.55192), LatLng(43.45196,-80.55291), LatLng(43.45196,-80.55291), LatLng(43.45251,-80.55339), LatLng(43.45251,-80.55339), LatLng(43.45361,-80.55441), LatLng(43.45368,-80.55448), LatLng(43.45368,-80.55448), LatLng(43.45412,-80.55488), LatLng(43.45457,-80.55523), LatLng(43.45457,-80.55523), LatLng(43.45513,-80.55560), LatLng(43.45513,-80.55560), LatLng(43.45541,-80.55579), LatLng(43.45541,-80.55579), LatLng(43.45545,-80.55567), LatLng(43.45557,-80.55555), LatLng(43.45571,-80.55545), LatLng(43.45605,-80.55524), LatLng(43.45605,-80.55524), LatLng(43.45604,-80.55520), LatLng(43.45604,-80.55511), LatLng(43.45606,-80.55500), LatLng(43.45651,-80.55371), LatLng(43.45659,-80.55358), LatLng(43.45669,-80.55347), LatLng(43.45681,-80.55339), LatLng(43.45711,-80.55328))
val coordinates3 = List(
LatLng(43.44659, -80.54960),
LatLng(43.44715, -80.55008),
LatLng(43.44734, -80.55029),
LatLng(43.44734, -80.55029),
LatLng(43.44782, -80.55087),
LatLng(43.44790, -80.55097),
LatLng(43.44790, -80.55097),
LatLng(43.44808, -80.55068),
LatLng(43.44835, -80.55009),
LatLng(43.44835, -80.55009),
LatLng(43.44841, -80.54993),
LatLng(43.44841, -80.54993),
LatLng(43.44992, -80.55118),
LatLng(43.44992, -80.55118),
LatLng(43.45082, -80.55192),
LatLng(43.45082, -80.55192),
LatLng(43.45196, -80.55291),
LatLng(43.45196, -80.55291),
LatLng(43.45251, -80.55339),
LatLng(43.45251, -80.55339),
LatLng(43.45361, -80.55441),
LatLng(43.45368, -80.55448),
LatLng(43.45368, -80.55448),
LatLng(43.45412, -80.55488),
LatLng(43.45457, -80.55523),
LatLng(43.45457, -80.55523),
LatLng(43.45513, -80.55560),
LatLng(43.45513, -80.55560),
LatLng(43.45541, -80.55579),
LatLng(43.45541, -80.55579),
LatLng(43.45545, -80.55567),
LatLng(43.45557, -80.55555),
LatLng(43.45571, -80.55545),
LatLng(43.45605, -80.55524),
LatLng(43.45605, -80.55524),
LatLng(43.45604, -80.55520),
LatLng(43.45604, -80.55511),
LatLng(43.45606, -80.55500),
LatLng(43.45651, -80.55371),
LatLng(43.45659, -80.55358),
LatLng(43.45669, -80.55347),
LatLng(43.45681, -80.55339),
LatLng(43.45711, -80.55328)
)

"A Polyline" when {
"encoding" should {
Expand All @@ -22,7 +63,11 @@ class PolylineTest extends WordSpec {
assert(Polyline.encode(coordinates2) == "oathGvj`iN{isCzocE")
}
"encode a list of coordinates to a polyline string containing '?'s (#3)" in {
assert(Polyline.encode(coordinates3) == "etdhG~isjNoB~Ae@h@??_BrBOR??c@y@u@uB??K_@??mHxF??sDrC??cFdE??mB~A??{EjEML??wAnAyAdA??oBhA??w@d@??GWWW[ScAi@??@G?QCUyAaGOYSUWO{@U")
assert(
Polyline.encode(
coordinates3
) == "etdhG~isjNoB~Ae@h@??_BrBOR??c@y@u@uB??K_@??mHxF??sDrC??cFdE??mB~A??{EjEML??wAnAyAdA??oBhA??w@d@??GWWW[ScAi@??@G?QCUyAaGOYSUWO{@U"
)
}
}

Expand All @@ -31,15 +76,63 @@ class PolylineTest extends WordSpec {
assert(Polyline.decode("_p~iF~ps|U_ulLnnqC_mqNvxq`@") == coordinates1)
}
"decode a polyline string to a list of rounded coordinates (#2)" in {
assert(Polyline.decode("oathGvj`iN{isCzocE") == List(
LatLng(43.52552, -80.28860),
LatLng(44.28502, -81.29482)
))
assert(
Polyline.decode("oathGvj`iN{isCzocE") == List(
LatLng(43.52552, -80.28860),
LatLng(44.28502, -81.29482)
)
)
}
"deocde a polyline string containing '?'s to a list of rounded coordinates (#3)" in {
assert(Polyline.decode("etdhG~isjNoB~Ae@h@??_BrBOR??c@y@u@uB??K_@??mHxF??sDrC??cFdE??mB~A??{EjEML??wAnAyAdA??oBhA??w@d@??GWWW[ScAi@??@G?QCUyAaGOYSUWO{@U") == List(
LatLng(43.44659,-80.54960), LatLng(43.44715,-80.55008), LatLng(43.44734,-80.55029), LatLng(43.44734,-80.55029), LatLng(43.44782,-80.55087), LatLng(43.44790,-80.55097), LatLng(43.44790,-80.55097), LatLng(43.44808,-80.55068), LatLng(43.44835,-80.55009), LatLng(43.44835,-80.55009), LatLng(43.44841,-80.54993), LatLng(43.44841,-80.54993), LatLng(43.44992,-80.55118), LatLng(43.44992,-80.55118), LatLng(43.45082,-80.55192), LatLng(43.45082,-80.55192), LatLng(43.45196,-80.55291), LatLng(43.45196,-80.55291), LatLng(43.45251,-80.55339), LatLng(43.45251,-80.55339), LatLng(43.45361,-80.55441), LatLng(43.45368,-80.55448), LatLng(43.45368,-80.55448), LatLng(43.45412,-80.55488), LatLng(43.45457,-80.55523), LatLng(43.45457,-80.55523), LatLng(43.45513,-80.55560), LatLng(43.45513,-80.55560), LatLng(43.45541,-80.55579), LatLng(43.45541,-80.55579), LatLng(43.45545,-80.55567), LatLng(43.45557,-80.55555), LatLng(43.45571,-80.55545), LatLng(43.45605,-80.55524), LatLng(43.45605,-80.55524), LatLng(43.45604,-80.55520), LatLng(43.45604,-80.55511), LatLng(43.45606,-80.55500), LatLng(43.45651,-80.55371), LatLng(43.45659,-80.55358), LatLng(43.45669,-80.55347), LatLng(43.45681,-80.55339), LatLng(43.45711,-80.55328)
))
assert(
Polyline.decode(
"etdhG~isjNoB~Ae@h@??_BrBOR??c@y@u@uB??K_@??mHxF??sDrC??cFdE??mB~A??{EjEML??wAnAyAdA??oBhA??w@d@??GWWW[ScAi@??@G?QCUyAaGOYSUWO{@U"
) == List(
LatLng(43.44659, -80.54960),
LatLng(43.44715, -80.55008),
LatLng(43.44734, -80.55029),
LatLng(43.44734, -80.55029),
LatLng(43.44782, -80.55087),
LatLng(43.44790, -80.55097),
LatLng(43.44790, -80.55097),
LatLng(43.44808, -80.55068),
LatLng(43.44835, -80.55009),
LatLng(43.44835, -80.55009),
LatLng(43.44841, -80.54993),
LatLng(43.44841, -80.54993),
LatLng(43.44992, -80.55118),
LatLng(43.44992, -80.55118),
LatLng(43.45082, -80.55192),
LatLng(43.45082, -80.55192),
LatLng(43.45196, -80.55291),
LatLng(43.45196, -80.55291),
LatLng(43.45251, -80.55339),
LatLng(43.45251, -80.55339),
LatLng(43.45361, -80.55441),
LatLng(43.45368, -80.55448),
LatLng(43.45368, -80.55448),
LatLng(43.45412, -80.55488),
LatLng(43.45457, -80.55523),
LatLng(43.45457, -80.55523),
LatLng(43.45513, -80.55560),
LatLng(43.45513, -80.55560),
LatLng(43.45541, -80.55579),
LatLng(43.45541, -80.55579),
LatLng(43.45545, -80.55567),
LatLng(43.45557, -80.55555),
LatLng(43.45571, -80.55545),
LatLng(43.45605, -80.55524),
LatLng(43.45605, -80.55524),
LatLng(43.45604, -80.55520),
LatLng(43.45604, -80.55511),
LatLng(43.45606, -80.55500),
LatLng(43.45651, -80.55371),
LatLng(43.45659, -80.55358),
LatLng(43.45669, -80.55347),
LatLng(43.45681, -80.55339),
LatLng(43.45711, -80.55328)
)
)
}
}
}
Expand Down