chains/src/test/kotlin/TheChainChecker.kt
2019-05-17 03:30:37 +02:00

53 lines
1.2 KiB
Kotlin

import org.ethereum.lists.chains.*
import org.junit.Test
import java.io.File
class TheChainChecker {
@Test
fun shouldPassForValidChain() {
val file = getFile("valid/1.json")
checkChain(file)
}
@Test(expected = FileNameMustMatchChainId::class)
fun shouldFailForInvalidFilename() {
val file = getFile("invalid/invalid_filename.json")
checkChain(file)
}
@Test(expected = FileNameMustMatchChainId::class)
fun shouldFailForChainNotMatchingFilename() {
val file = getFile("invalid/3.json")
checkChain(file)
}
@Test(expected = ShouldHaveNoExtraFields::class)
fun shouldFailForExtraField() {
val file = getFile("invalid/1.json")
checkChain(file)
}
@Test(expected = ShouldHaveNoMissingFields::class)
fun shouldFailForMissingField() {
val file = getFile("invalid/4.json")
checkChain(file)
}
@Test(expected = ExtensionMustBeJSON::class)
fun shouldFailFoNonJSON() {
val file = getFile("invalid/1.nojson")
checkChain(file)
}
private fun getFile(s: String) = File(javaClass.classLoader.getResource("test_chains/$s").file)
}