Files
kotlin-fork/js/js.translator/testData/box/number/numberConversions.kt
T
2018-10-14 23:53:02 +03:00

49 lines
1.2 KiB
Kotlin
Vendored

// EXPECTED_REACHABLE_NODES: 1289
package foo
fun testIntegerConversions(c: Number): Boolean {
if (c.toDouble() != 3.0) {
return false
}
if (c.toFloat() != 3.toFloat()) {
return false
}
if (c.toByte() != 3.toByte()) {
return false
}
if (c.toInt() != 3) {
return false
}
if (c.toShort() != 3.toShort()) {
return false
}
return true
}
fun testFloatingPointConversions(c: Number): Boolean {
if (c.toDouble() != 3.6) {
return false
}
if (c.toFloat() != 3.6.toFloat()) {
return false
}
if (c.toByte() != 3.toByte()) {
return false
}
if (c.toInt() != 3) {
return false
}
if (c.toShort() != 3.toShort()) {
return false
}
return true
}
fun box(): String {
if (!testIntegerConversions(3)) return "fail: testIntegerConversions1"
if (!testFloatingPointConversions(3.6)) return "fail: testFloatingPointConversions1"
if (!testFloatingPointConversions(3.6.toFloat())) return "fail: testFloaintPointConversions2"
if (!testIntegerConversions(3.toByte())) return "fail: testIntegerConversions2"
if (!testIntegerConversions(3.toShort())) return "fail: testIntegerConversions3"
return "OK"
}