519
22
장
클래스에서 함수로
}
...
@Test
fun `can specify header names when there is no header row`() {
val headers = listOf(“apple”, “banana”)
checkReadTable(
lines = listOf(“field0,field1”),
withHeaderProvider = headers::get,
shouldReturn = listOf(
mapOf(
“apple” to “field0”,
“banana” to “field1”,
)
)
)
}
@Test
fun `readTableWithHeader takes headers from header line`() {
checkReadTableWithHeader(
lines = listOf(
“H0,H1”,
“field0,field1”
),
shouldReturn = listOf(
mapOf(“H0” to “field0”, “H1” to “field1”)
)
)
}
...
}
private fun checkReadTable(
lines: List<String>,
withHeaderProvider: (Int) -> String = Int::toString,
shouldReturn: List<Map<String, String>>,
) {
assertEquals(
shouldReturn,
readTable(
lines.asSequence().constrainOnce(), ...