Make some io test classes non-nested as it's not supported by runners.

This commit is contained in:
Ilya Gorbunov
2015-12-03 19:57:53 +03:00
parent 33967a09f6
commit 27551a8399
3 changed files with 514 additions and 508 deletions
+41 -38
View File
@@ -108,45 +108,7 @@ class ReadWriteTest {
file.deleteOnExit()
}
class LineIteratorTest {
@test fun useLines() {
// TODO we should maybe zap the useLines approach as it encourages
// use of iterators which don't close the underlying stream
val list1 = sample().useLines { it.toArrayList() }
val list2 = sample().useLines<ArrayList<String>>{ it.toArrayList() }
assertEquals(arrayListOf("Hello", "World"), list1)
assertEquals(arrayListOf("Hello", "World"), list2)
}
@test fun manualClose() {
val reader = sample().buffered()
try {
val list = reader.lineSequence().toArrayList()
assertEquals(arrayListOf("Hello", "World"), list)
} finally {
reader.close()
}
}
@test fun boundaryConditions() {
var reader = StringReader("").buffered()
assertEquals(ArrayList<String>(), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" ").buffered()
assertEquals(arrayListOf(" "), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" \n").buffered()
assertEquals(arrayListOf(" "), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" \n ").buffered()
assertEquals(arrayListOf(" ", " "), reader.lineSequence().toArrayList())
reader.close()
}
}
@test fun testUse() {
val list = ArrayList<String>()
@@ -173,3 +135,44 @@ class ReadWriteTest {
assertFalse(text2.isEmpty())
}
}
class LineIteratorTest {
@test fun useLines() {
// TODO we should maybe zap the useLines approach as it encourages
// use of iterators which don't close the underlying stream
val list1 = sample().useLines { it.toArrayList() }
val list2 = sample().useLines<ArrayList<String>>{ it.toArrayList() }
assertEquals(arrayListOf("Hello", "World"), list1)
assertEquals(arrayListOf("Hello", "World"), list2)
}
@test fun manualClose() {
val reader = sample().buffered()
try {
val list = reader.lineSequence().toArrayList()
assertEquals(arrayListOf("Hello", "World"), list)
} finally {
reader.close()
}
}
@test fun boundaryConditions() {
var reader = StringReader("").buffered()
assertEquals(ArrayList<String>(), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" ").buffered()
assertEquals(arrayListOf(" "), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" \n").buffered()
assertEquals(arrayListOf(" "), reader.lineSequence().toArrayList())
reader.close()
reader = StringReader(" \n ").buffered()
assertEquals(arrayListOf(" ", " "), reader.lineSequence().toArrayList())
reader.close()
}
}