Вы можете добавить inputStream
и outputStream
в качестве аргументов вашей функции foo
:
fun foo(inputStream: InputStream, outputStream: OutputStream) {
val name = BufferedReader(InputStreamReader(inputStream)).readLine()
PrintStream(outputStream).println("Hello, ${name.trim()}!")
}
fun main() {
foo(System.`in`, System.out)
}
И затем вы можете проверить свою функцию foo
следующим образом:
class Test {
@Test
fun testFoo() {
val inputStream = "username".byteInputStream()
val outputStream = ByteArrayOutputStream()
foo(inputStream, outputStream)
assertEquals(String(outputStream.toByteArray()), "Hello, username!\n")
}
}