Skip to content

Commit 1831266

Browse files
committed
Updated answer placeholders for exercises in 'Preventing Failure'
1 parent 29e1e4f commit 1831266

File tree

3 files changed

+46
-35
lines changed

3 files changed

+46
-35
lines changed

Preventing Failure/Logging/Exercise 2/task-info.yaml

+19-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,24 @@ files:
33
- name: src/Task.kt
44
visible: true
55
placeholders:
6-
- offset: 1086
7-
length: 829
8-
placeholder_text: TODO()
6+
- offset: 1272
7+
length: 18
8+
placeholder_text: println("Database Problem $e")
9+
- offset: 1436
10+
length: 70
11+
placeholder_text: |-
12+
catch (e: NetworkFail) {
13+
println("Network Problem $e")
14+
return Failed
15+
} catch (e: DBWriteFail) {
16+
println("Database Write Failed $e")
17+
return Failed
18+
}
19+
- offset: 1603
20+
length: 18
21+
placeholder_text: println("Network Close Failed $e")
22+
- offset: 1856
23+
length: 18
24+
placeholder_text: println("Database Problem $e")
925
- name: test/Tests.kt
1026
visible: false

Preventing Failure/Logging/Exercise 3/src/Task.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ enum class Level {
88
Trace, Debug, Info, Warn, Error
99
}
1010

11-
var debugLevel = Error
11+
var debugLevel: Level = Error
1212

1313
class Logger(fileName: String) {
1414
val logFile = DataFile(fileName).reset()
@@ -21,6 +21,8 @@ class Logger(fileName: String) {
2121
fun info(msg: String) = log(Info, msg)
2222
fun warn(msg: String) = log(Warn, msg)
2323
fun error(msg: String) = log(Error, msg)
24+
25+
// Added for basic testing:
2426
fun report(msg: String) {
2527
trace(msg)
2628
debug(msg)

Preventing Failure/Logging/Exercise 3/task-info.yaml

+24-31
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,31 @@ files:
33
- name: src/Task.kt
44
visible: true
55
placeholders:
6-
- offset: 107
6+
- offset: 161
77
length: 31
8-
placeholder_text: // import loggingExercise3.Level.*
9-
- offset: 140
10-
length: 679
11-
placeholder_text: // TODO
12-
- offset: 834
13-
length: 553
8+
placeholder_text: '// TODO: add values'
9+
- offset: 305
10+
length: 154
1411
placeholder_text: |-
15-
/*
16-
Level.values().toList().forEach {
17-
debugLevel = it
18-
logger.report("debugLevel($debugLevel)")
19-
}
20-
logger.logFile.readText().trimIndent() eq
21-
"""
22-
Trace: debugLevel(Trace)
23-
Debug: debugLevel(Trace)
24-
Info: debugLevel(Trace)
25-
Warn: debugLevel(Trace)
26-
Error: debugLevel(Trace)
27-
Debug: debugLevel(Debug)
28-
Info: debugLevel(Debug)
29-
Warn: debugLevel(Debug)
30-
Error: debugLevel(Debug)
31-
Info: debugLevel(Info)
32-
Warn: debugLevel(Info)
33-
Error: debugLevel(Info)
34-
Warn: debugLevel(Warn)
35-
Error: debugLevel(Warn)
36-
Error: debugLevel(Error)
37-
"""
38-
*/
12+
private fun log(type: String, msg: String) =
13+
logFile.appendText("$type: $msg\n")
14+
- offset: 487
15+
length: 15
16+
placeholder_text: log("Trace", msg)
17+
- offset: 530
18+
length: 15
19+
placeholder_text: log("Debug", msg)
20+
- offset: 572
21+
length: 14
22+
placeholder_text: log("Info", msg)
23+
- offset: 613
24+
length: 14
25+
placeholder_text: log("Warn", msg)
26+
- offset: 655
27+
length: 15
28+
placeholder_text: log("Error", msg)
29+
- offset: 220
30+
length: 5
31+
placeholder_text: TODO()
3932
- name: test/Tests.kt
4033
visible: false

0 commit comments

Comments
 (0)