blob: 857af3c8f80cbe17ac5853c11143368128ee7158 [file]
fun box(): String {
return test1(a = 2, b = 1).plus(other = test1(a = 1, b = 2)).plus(other = test1(a = 1, b = 1)).plus(other = test2(a = 1, b = 2)).plus(other = test2(a = 2, b = 1)).plus(other = test3(a = 2, b = 1)).plus(other = test3(a = 1, b = 2)).plus(other = test3(a = 1, b = 1)).plus(other = test4(initial = true, a = 2, b = 1)).plus(other = test4(initial = true, a = 1, b = 2)).plus(other = test4(initial = true, a = 1, b = 1)).plus(other = test4(initial = false, a = 1, b = 1))
}
fun test1(a: Int, b: Int): String {
return expectThrowableMessage(block = local fun <anonymous>() {
{ // BLOCK
val tmp_0: Int = a
val tmp_1: Int = b
val tmp_2: Boolean = less(arg0 = tmp_0, arg1 = tmp_1)
when {
tmp_2 -> { // BLOCK
val tmp_3: Int = a
val tmp_4: Int = b
val tmp_5: Boolean = EQEQ(arg0 = tmp_3, arg1 = tmp_4)
assert(value = tmp_5, lazyMessage = local fun <anonymous>(): String {
return "\nassert(if (a < b) a == b else if (b < a) b == a else false)" + "\n | | | | | |" + "\n | | | | | " + tmp_4 + "\n | | | | " + tmp_5 + "\n | | | " + tmp_3 + "\n | | " + tmp_1 + "\n | " + tmp_2 + "\n " + tmp_0 + "\n"
}
)
}
else -> { // BLOCK
val tmp_6: Int = b
val tmp_7: Int = a
val tmp_8: Boolean = less(arg0 = tmp_6, arg1 = tmp_7)
when {
tmp_8 -> { // BLOCK
val tmp_9: Int = b
val tmp_10: Int = a
val tmp_11: Boolean = EQEQ(arg0 = tmp_9, arg1 = tmp_10)
assert(value = tmp_11, lazyMessage = local fun <anonymous>(): String {
return "\nassert(if (a < b) a == b else if (b < a) b == a else false)" + "\n | | | | | | | | |" + "\n | | | | | | | | " + tmp_10 + "\n | | | | | | | " + tmp_11 + "\n | | | | | | " + tmp_9 + "\n | | | | | " + tmp_7 + "\n | | | | " + tmp_8 + "\n | | | " + tmp_6 + "\n | | " + tmp_1 + "\n | " + tmp_2 + "\n " + tmp_0 + "\n"
}
)
}
else -> { // BLOCK
assert(value = false, lazyMessage = local fun <anonymous>(): String {
return "\nassert(if (a < b) a == b else if (b < a) b == a else false)" + "\n | | | | | |" + "\n | | | | | " + tmp_7 + "\n | | | | " + tmp_8 + "\n | | | " + tmp_6 + "\n | | " + tmp_1 + "\n | " + tmp_2 + "\n " + tmp_0 + "\n"
}
)
}
}
}
}
}
}
)
}
fun test2(a: Int, b: Int): String {
return expectThrowableMessage(block = local fun <anonymous>() {
{ // BLOCK
val tmp_12: Int = a
val tmp_13: Int = a
val tmp_14: Int = b
val tmp_15: Boolean = less(arg0 = tmp_13, arg1 = tmp_14)
when {
tmp_15 -> { // BLOCK
val tmp_16: Int = a
val tmp_17: Int = tmp_12.plus(other = tmp_16)
val tmp_18: Int = b
val tmp_19: Int = tmp_17.plus(other = tmp_18)
val tmp_20: Int = a
val tmp_21: Boolean = EQEQ(arg0 = tmp_19, arg1 = tmp_20)
assert(value = tmp_21, lazyMessage = local fun <anonymous>(): String {
return "\nassert(a + (if (a < b) a else b) + b == a)" + "\n | | | | | | | | | |" + "\n | | | | | | | | | " + tmp_20 + "\n | | | | | | | | " + tmp_21 + "\n | | | | | | | " + tmp_18 + "\n | | | | | | " + tmp_19 + "\n | | | | | " + tmp_16 + "\n | | | | " + tmp_14 + "\n | | | " + tmp_15 + "\n | | " + tmp_13 + "\n | " + tmp_17 + "\n " + tmp_12 + "\n"
}
)
}
else -> { // BLOCK
val tmp_22: Int = b
val tmp_23: Int = tmp_12.plus(other = tmp_22)
val tmp_24: Int = b
val tmp_25: Int = tmp_23.plus(other = tmp_24)
val tmp_26: Int = a
val tmp_27: Boolean = EQEQ(arg0 = tmp_25, arg1 = tmp_26)
assert(value = tmp_27, lazyMessage = local fun <anonymous>(): String {
return "\nassert(a + (if (a < b) a else b) + b == a)" + "\n | | | | | | | | | |" + "\n | | | | | | | | | " + tmp_26 + "\n | | | | | | | | " + tmp_27 + "\n | | | | | | | " + tmp_24 + "\n | | | | | | " + tmp_25 + "\n | | | | | " + tmp_22 + "\n | | | | " + tmp_14 + "\n | | | " + tmp_15 + "\n | | " + tmp_13 + "\n | " + tmp_23 + "\n " + tmp_12 + "\n"
}
)
}
}
}
}
)
}
fun test3(a: Int, b: Int): String {
return expectThrowableMessage(block = local fun <anonymous>() {
{ // BLOCK
val tmp_28: Int = a
val tmp_29: Int = b
val tmp_30: Boolean = less(arg0 = tmp_28, arg1 = tmp_29)
when {
tmp_30 -> { // BLOCK
val tmp_31: Int = a
val tmp_32: Int = b
val tmp_33: Boolean = EQEQ(arg0 = tmp_31, arg1 = tmp_32)
assert(value = tmp_33, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n when {" + "\n a < b -> a == b" + "\n | | | | | |" + "\n | | | | | " + tmp_32 + "\n | | | | " + tmp_33 + "\n | | | " + tmp_31 + "\n | | " + tmp_29 + "\n | " + tmp_30 + "\n " + tmp_28 + "\n\n b < a -> b == a" + "\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
else -> { // BLOCK
val tmp_34: Int = b
val tmp_35: Int = a
val tmp_36: Boolean = less(arg0 = tmp_34, arg1 = tmp_35)
when {
tmp_36 -> { // BLOCK
val tmp_37: Int = b
val tmp_38: Int = a
val tmp_39: Boolean = EQEQ(arg0 = tmp_37, arg1 = tmp_38)
assert(value = tmp_39, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n when {" + "\n a < b -> a == b" + "\n | | |" + "\n | | " + tmp_29 + "\n | " + tmp_30 + "\n " + tmp_28 + "\n\n b < a -> b == a" + "\n | | | | | |" + "\n | | | | | " + tmp_38 + "\n | | | | " + tmp_39 + "\n | | | " + tmp_37 + "\n | | " + tmp_35 + "\n | " + tmp_36 + "\n " + tmp_34 + "\n\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
else -> { // BLOCK
assert(value = false, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n when {" + "\n a < b -> a == b" + "\n | | |" + "\n | | " + tmp_29 + "\n | " + tmp_30 + "\n " + tmp_28 + "\n\n b < a -> b == a" + "\n | | |" + "\n | | " + tmp_35 + "\n | " + tmp_36 + "\n " + tmp_34 + "\n\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
}
}
}
}
}
)
}
fun test4(initial: Boolean, a: Int, b: Int): String {
return expectThrowableMessage(block = local fun <anonymous>() {
{ // BLOCK
val tmp_40: Boolean = initial
when {
tmp_40 -> { // BLOCK
val tmp_41: Int = a
val tmp_42: Int = b
val tmp_43: Boolean = less(arg0 = tmp_41, arg1 = tmp_42)
when {
tmp_43 -> { // BLOCK
val tmp_44: Int = a
val tmp_45: Int = b
val tmp_46: Boolean = EQEQ(arg0 = tmp_44, arg1 = tmp_45)
assert(value = tmp_46, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n initial && when {" + "\n |" + "\n " + tmp_40 + "\n\n a < b -> a == b" + "\n | | | | | |" + "\n | | | | | " + tmp_45 + "\n | | | | " + tmp_46 + "\n | | | " + tmp_44 + "\n | | " + tmp_42 + "\n | " + tmp_43 + "\n " + tmp_41 + "\n\n b < a -> b == a" + "\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
else -> { // BLOCK
val tmp_47: Int = b
val tmp_48: Int = a
val tmp_49: Boolean = less(arg0 = tmp_47, arg1 = tmp_48)
when {
tmp_49 -> { // BLOCK
val tmp_50: Int = b
val tmp_51: Int = a
val tmp_52: Boolean = EQEQ(arg0 = tmp_50, arg1 = tmp_51)
assert(value = tmp_52, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n initial && when {" + "\n |" + "\n " + tmp_40 + "\n\n a < b -> a == b" + "\n | | |" + "\n | | " + tmp_42 + "\n | " + tmp_43 + "\n " + tmp_41 + "\n\n b < a -> b == a" + "\n | | | | | |" + "\n | | | | | " + tmp_51 + "\n | | | | " + tmp_52 + "\n | | | " + tmp_50 + "\n | | " + tmp_48 + "\n | " + tmp_49 + "\n " + tmp_47 + "\n\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
else -> { // BLOCK
assert(value = false, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n initial && when {" + "\n |" + "\n " + tmp_40 + "\n\n a < b -> a == b" + "\n | | |" + "\n | | " + tmp_42 + "\n | " + tmp_43 + "\n " + tmp_41 + "\n\n b < a -> b == a" + "\n | | |" + "\n | | " + tmp_48 + "\n | " + tmp_49 + "\n " + tmp_47 + "\n\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
}
}
}
}
else -> { // BLOCK
assert(value = false, lazyMessage = local fun <anonymous>(): String {
return "\nassert(" + "\n initial && when {" + "\n |" + "\n " + tmp_40 + "\n\n a < b -> a == b" + "\n b < a -> b == a" + "\n else -> false" + "\n }" + "\n)" + "\n"
}
)
}
}
}
}
)
}