Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sdkman/sdkman-candidates
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 43a9f51299ae18d8f6d7290c1fb46565608e9e51
Choose a base ref
..
head repository: sdkman/sdkman-candidates
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 24b213270161d0ca0f2b630718afc8e0dd4791e8
Choose a head ref
Showing with 11 additions and 7 deletions.
  1. +1 −1 app/controllers/JavaListController.scala
  2. +1 −1 app/ordering/JavaVersionItemOrdering.scala
  3. +9 −5 test/ordering/JavaVersionItemOrderingSpec.scala
2 changes: 1 addition & 1 deletion app/controllers/JavaListController.scala
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ package controllers

import clients.StateApiImpl
import domain.{Platform, Version}
import ordering.VersionItemOrdering
import ordering.JavaVersionItemOrdering
import play.api.mvc._
import rendering.{JavaVersionRendering, VersionItemListBuilder}
import repos.CandidatesRepository
2 changes: 1 addition & 1 deletion app/ordering/JavaVersionItemOrdering.scala
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ trait JavaVersionItemOrdering {

implicit object OrderedJavaVersion extends Ordering[VersionItem] with RegexStringComparison {
def compare(v1: VersionItem, v2: VersionItem): Int = {
(javaVendor(v1)compare javaVendor(v2)) match {
(javaVendor(v1) compare javaVendor(v2)) match {
case 0 => compareRegexGroups(basicJavaVersion(v1), basicJavaVersion(v2))
case c => c
}
14 changes: 9 additions & 5 deletions test/ordering/JavaVersionItemOrderingSpec.scala
Original file line number Diff line number Diff line change
@@ -9,7 +9,8 @@ class JavaVersionItemOrderingSpec extends AnyWordSpec with Matchers {

"of same vendor" should {

"accurately sort versions ascending" in new RegexStringComparison with JavaVersionItemOrdering {
"accurately sort versions ascending" in new RegexStringComparison
with JavaVersionItemOrdering {
val v1 = versionItem("17.0.9-tem")
val v2 = versionItem("17.0.7-tem")
val v3 = versionItem("8.0.382-tem")
@@ -25,7 +26,8 @@ class JavaVersionItemOrderingSpec extends AnyWordSpec with Matchers {
versions.ascendingOrder shouldBe List(v7, v3, v2, v6, v4, v1, v8, v9, v5)
}

"accurately sort versions descending" in new RegexStringComparison with JavaVersionItemOrdering {
"accurately sort versions descending" in new RegexStringComparison
with JavaVersionItemOrdering {
val v1 = versionItem("17.0.9-tem")
val v2 = versionItem("17.0.7-tem")
val v3 = versionItem("8.0.382-tem")
@@ -38,7 +40,7 @@ class JavaVersionItemOrderingSpec extends AnyWordSpec with Matchers {

val versions = List(v1, v2, v3, v4, v5, v6, v7, v8, v9)

versions.descendingOrder shouldBe List(v5, v9, v8, v1, v4, v6, v2, v3, v7)
versions.descendingOrder shouldBe List(v5, v9, v8, v1, v4, v6, v2, v3, v7)
}
}

@@ -57,7 +59,8 @@ class JavaVersionItemOrderingSpec extends AnyWordSpec with Matchers {
versions.ascendingOrder shouldBe List(v6, v3, v2, v4, v5, v1)
}

"accurately sort by vendors and version within vendor" in new RegexStringComparison with JavaVersionItemOrdering {
"accurately sort by vendors and version within vendor" in new RegexStringComparison
with JavaVersionItemOrdering {
val v1 = versionItem("17.0.9-tem", Some("tem"))
val v2 = versionItem("8.0.382-tem", Some("tem"))
val v3 = versionItem("17.0.8.1-tem", Some("tem"))
@@ -75,5 +78,6 @@ class JavaVersionItemOrderingSpec extends AnyWordSpec with Matchers {
}
}

private def versionItem(version: String, vendor: Option[String] = None): VersionItem = VersionItem(version, false, false, false, vendor)
private def versionItem(version: String, vendor: Option[String] = None): VersionItem =
VersionItem(version, false, false, false, vendor)
}