Skip to content

Commit

Permalink
[#1242] ScanRange fails when no matching priority (#1246)
Browse files Browse the repository at this point in the history
Tests added
  • Loading branch information
HonzaR authored Sep 18, 2023
1 parent 57f3b7a commit 62fc5d7
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ internal data class ScanRange(
override fun toString() = "ScanRange(range=$range, priority=${getSuggestScanRangePriority()})"

internal fun getSuggestScanRangePriority(): SuggestScanRangePriority {
return SuggestScanRangePriority.entries
.firstOrNull { it.priority == priority } ?: SuggestScanRangePriority.Ignored
return SuggestScanRangePriority.entries.first { it.priority == priority }
}

init {
require(SuggestScanRangePriority.entries.map { it.priority }.contains(priority)) {
"Unsupported priority $priority used"
}
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import cash.z.ecc.android.sdk.internal.ext.isNotEmpty
import cash.z.ecc.android.sdk.internal.ext.length
import cash.z.ecc.android.sdk.model.ZcashNetwork
import kotlin.test.Test
import kotlin.test.assertFailsWith
import kotlin.test.assertIs
import kotlin.test.assertTrue

class ScanRangeTest {
Expand All @@ -18,6 +20,23 @@ class ScanRangeTest {
}
}

@Test
fun priority_attribute_within_constraints() {
val instance = ScanRangeFixture.new(
priority = SuggestScanRangePriority.Verify.priority
)
assertIs<ScanRange>(instance)
}

@Test
fun priority_attribute_not_in_constraints() {
assertFailsWith(IllegalArgumentException::class) {
ScanRangeFixture.new(
priority = Long.MIN_VALUE
)
}
}

@Test
fun scan_range_boundaries_test() {
val scanRange = ScanRangeFixture.new(
Expand Down

0 comments on commit 62fc5d7

Please sign in to comment.