Skip to content

Commit c80904a

Browse files
committed
add TestIO
1 parent b81b16f commit c80904a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/test/scala/testIO.scala

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package introprog
2+
3+
val tmpDir = "target/tmp"
4+
5+
class TestIO extends munit.FunSuite {
6+
test("TestIO: createDirIfNotExist, saveString, appendString, loadLines, appendLines") {
7+
val existed = IO.createDirIfNotExist(tmpDir)
8+
assert(IO.isExisting(tmpDir), s"dir should exists: $tmpDir")
9+
val s1 = "hello"
10+
val fn = s"$tmpDir/hello.txt"
11+
IO.saveString(s1, fileName = fn)
12+
val s2 = IO.loadString(fileName = fn)
13+
assertEquals(s1, s2, "saved string different from loaded")
14+
IO.appendString("!\n", fileName = fn )
15+
val s3 = IO.loadString(fileName = fn)
16+
assertEquals(s3, s2 + "!\n", "saved string is missing appended '!+newline'")
17+
IO.appendLines(Seq("line2"),fileName = fn)
18+
val s4 = IO.loadLines(fileName = fn)
19+
assertEquals(s4, Vector("hello!", "line2"), s"loadLines not as expected: $s4")
20+
val s5 = IO.loadString(fileName = fn)
21+
assertEquals(s5, "hello!\nline2\n", s"loadLines not as expected: $s5")
22+
IO.appendLines(Seq(),fileName = fn) // nothing should be added, not even newline
23+
assertEquals(s5, IO.loadString(fileName = fn), s"loadLines not as expected: $s5")
24+
}
25+
}

0 commit comments

Comments
 (0)