Skip to content

Commit

Permalink
Add trace
Browse files Browse the repository at this point in the history
  • Loading branch information
Bruce Eckel committed Nov 24, 2017
1 parent 287fa95 commit c72e4cf
Show file tree
Hide file tree
Showing 13 changed files with 75 additions and 14 deletions.
5 changes: 2 additions & 3 deletions Examples/ErrorReporting/Cleanup2.kt
Expand Up @@ -4,7 +4,6 @@ import atomictest.eq

fun main(args: Array<String>) {
localFile("Cleanup2.kt").useLines {
it.filter { "//" in it }.first() eq // [1]
"// ErrorReporting/Cleanup2.kt"
}
it.filter { "//" in it }.first() // [1]
} eq "// ErrorReporting/Cleanup2.kt"
}
1 change: 0 additions & 1 deletion Examples/ErrorReporting/results.txt

This file was deleted.

Empty file.
1 change: 0 additions & 1 deletion Examples/ErrorReporting/trace_real.txt

This file was deleted.

9 changes: 9 additions & 0 deletions Examples/FromKotlin/NullableJavaTool.java
@@ -0,0 +1,9 @@
// FromKotlin/NullableJavaTool.java
package FromKotlin;

public class NullableJavaTool {
public static NullableJavaTool get() {
return null;
}
public void method() {}
}
17 changes: 17 additions & 0 deletions Examples/FromKotlin/UseNullableJavaTool.kt
@@ -0,0 +1,17 @@
// FromKotlin/UseNullableJavaTool.kt
import FromKotlin.NullableJavaTool
import atomictest.*

fun main(args: Array<String>) {
val a = NullableJavaTool.get()
capture {
val b: NullableJavaTool =
NullableJavaTool.get()
} eq "IllegalStateException"
val c: NullableJavaTool? =
NullableJavaTool.get()
capture {
a.method()
} eq "NullPointerException"
c?.method() eq null
}
8 changes: 6 additions & 2 deletions Examples/constructors/Coffee.kt
@@ -1,5 +1,5 @@
// Constructors/Coffee.kt
import atomictest.eq
import atomictest.*

class Coffee(
val shots: Int = 2,
Expand All @@ -9,7 +9,7 @@ class Coffee(
val syrup: String = "") {
var result = ""
init {
println(listOf(
trace(listOf(
shots, decaf, milk, toGo, syrup))
getCup()
pourShots()
Expand Down Expand Up @@ -42,4 +42,8 @@ fun main(args: Array<String>) {
toGo = true, syrup = "Chocolate")
mocha.result eq
"ToGoCup decaf shot decaf shot Chocolate"
trace eq """
[2, false, false, false, ]
[2, true, false, true, Chocolate]
"""
}
9 changes: 7 additions & 2 deletions Examples/secondaryConstructors/GardenGnome.kt
@@ -1,10 +1,10 @@
// SecondaryConstructors/GardenGnome.kt
import atomictest.eq
import atomictest.*

class GardenGnome(val height: Double,
val weight: Double, var happy: Boolean) {
init {
println("In primary constructor")
trace("In primary constructor")
}
var painted = true
fun magic(level: Int) = "Poof! $level"
Expand All @@ -22,4 +22,9 @@ fun main(args: Array<String>) {
"20.0 110.0 false true"
GardenGnome(happy=true).show() eq
"15.0 100.0 true true"
trace eq
"""
In primary constructor
In primary constructor
"""
}
15 changes: 11 additions & 4 deletions Examples/whenExpressions/WhenAsStatement.kt
@@ -1,9 +1,16 @@
// WhenExpressions/WhenAsStatement.kt
import atomictest.*

fun checkColor(color: String) {
when (color) {
"red" -> println("RED")
"blue" -> println("BLUE")
"green" -> println("GREEN")
when(color) {
"red" -> trace("RED")
"blue" -> trace("BLUE")
"green" -> trace("GREEN")
}
}

fun main(args: Array<String>) {
checkColor("white")
checkColor("blue")
trace eq "BLUE"
}
2 changes: 1 addition & 1 deletion Examples/whenExpressions/WhenExpressions.kt
Expand Up @@ -2,7 +2,7 @@
import atomictest.eq

fun matchColor(color: String) =
when (color) { // [1]
when(color) { // [1]
"red" -> "RED" // [2]
"blue" -> "BLUE"
"green" -> "GREEN"
Expand Down
5 changes: 5 additions & 0 deletions Experiments/JHelper.java
@@ -0,0 +1,5 @@
//package jhelper;
public class JHelper {
public static JHelper jF() { return null; }
public void M() {}
}
5 changes: 5 additions & 0 deletions Experiments/UseJHelper.kt
@@ -0,0 +1,5 @@
import jhelper.*
fun main(args: Array<String>) {
val a = JHelper.jF()
a.M() //Oops!
}
12 changes: 12 additions & 0 deletions gradle/tasks.gradle
Expand Up @@ -1513,6 +1513,11 @@ task UseBeanClass(type: JavaExec) {
main = 'UseBeanClassKt'
}

task UseNullableJavaTool(type: JavaExec) {
classpath kotlinClassPath
main = 'UseNullableJavaToolKt'
}

task UsingAtomicTest(type: JavaExec) {
classpath kotlinClassPath
main = 'UsingAtomicTestKt'
Expand Down Expand Up @@ -1578,6 +1583,11 @@ task WhenAndSmartCasts(type: JavaExec) {
main = 'smartcasts.WhenAndSmartCastsKt'
}

task WhenAsStatement(type: JavaExec) {
classpath kotlinClassPath
main = 'WhenAsStatementKt'
}

task WhenExpressions(type: JavaExec) {
classpath kotlinClassPath
main = 'WhenExpressionsKt'
Expand Down Expand Up @@ -1915,6 +1925,7 @@ task run (dependsOn: [
'UnpredictableHashing',
'UseALibrary',
'UseBeanClass',
'UseNullableJavaTool',
'UsingAtomicTest',
'UsingDataClass',
'UsingKotlinClass',
Expand All @@ -1928,6 +1939,7 @@ task run (dependsOn: [
'Vars',
'VisibleClassArgs',
'WhenAndSmartCasts',
'WhenAsStatement',
'WhenExpressions',
'WhileLoop',
'WhyFlatMap',
Expand Down

0 comments on commit c72e4cf

Please sign in to comment.