Merge ConstantExpressionEvaluator and CompileTimeConstantResolver
This commit is contained in:
@@ -90,7 +90,7 @@ class ArraysJVMTest {
|
||||
expect(2000000000000, { longArray(3000000000000, 2000000000000).min() })
|
||||
expect(1, { byteArray(1, 3, 2).min() })
|
||||
expect(2, { shortArray(3, 2).min() })
|
||||
expect(2.0, { floatArray(3.0, 2.0).min() })
|
||||
expect(2.0.toFloat(), { floatArray(3.0.toFloat(), 2.0.toFloat()).min() })
|
||||
expect(2.0, { doubleArray(2.0, 3.0).min() })
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ class ArraysJVMTest {
|
||||
expect(3000000000000, { longArray(3000000000000, 2000000000000).max() })
|
||||
expect(3, { byteArray(1, 3, 2).max() })
|
||||
expect(3, { shortArray(3, 2).max() })
|
||||
expect(3.0, { floatArray(3.0, 2.0).max() })
|
||||
expect(3.0.toFloat(), { floatArray(3.0.toFloat(), 2.0.toFloat()).max() })
|
||||
expect(3.0, { doubleArray(2.0, 3.0).max() })
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ class ArraysJVMTest {
|
||||
expect(2000000000000, { longArray(3000000000000, 2000000000000).minBy { it + 1 } })
|
||||
expect(1, { byteArray(1, 3, 2).minBy { it * it } })
|
||||
expect(3, { shortArray(3, 2).minBy { "a" } })
|
||||
expect(2.0, { floatArray(3.0, 2.0).minBy { it.toString() } })
|
||||
expect(2.0.toFloat(), { floatArray(3.0.toFloat(), 2.0.toFloat()).minBy { it.toString() } })
|
||||
expect(2.0, { doubleArray(2.0, 3.0).minBy { Math.sqrt(it) } })
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ class ArraysJVMTest {
|
||||
expect(3000000000000, { longArray(3000000000000, 2000000000000).maxBy { it + 1 } })
|
||||
expect(3, { byteArray(1, 3, 2).maxBy { it * it } })
|
||||
expect(3, { shortArray(3, 2).maxBy { "a" } })
|
||||
expect(3.0, { floatArray(3.0, 2.0).maxBy { it.toString() } })
|
||||
expect(3.0.toFloat(), { floatArray(3.0.toFloat(), 2.0.toFloat()).maxBy { it.toString() } })
|
||||
expect(3.0, { doubleArray(2.0, 3.0).maxBy { Math.sqrt(it) } })
|
||||
}
|
||||
|
||||
@@ -144,6 +144,6 @@ class ArraysJVMTest {
|
||||
expect(200) { byteArray(100, 100).sum() }
|
||||
expect(50000) { shortArray(20000, 30000).sum() }
|
||||
expect(3000000000000) { longArray(1000000000000, 2000000000000).sum() }
|
||||
expect(3.0) { floatArray(1.0, 2.0).sum() }
|
||||
expect(3.0.toFloat()) { floatArray(1.0.toFloat(), 2.0.toFloat()).sum() }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ class ArraysTest {
|
||||
test fun floatArray() {
|
||||
val arr = FloatArray(2)
|
||||
|
||||
val expected: Float = 0.0
|
||||
val expected: Float = 0.0.toFloat()
|
||||
assertEquals(arr.size, 2)
|
||||
assertEquals(expected, arr[0])
|
||||
assertEquals(expected, arr[1])
|
||||
|
||||
@@ -77,7 +77,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(3.0..9.0, 3.0, 9.0, 1.0, listOf(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0))
|
||||
doTest(3.0.toFloat()..9.0.toFloat(), 3.0.toFloat(), 9.0.toFloat(), 1.toFloat(),
|
||||
listOf<Float>(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0))
|
||||
listOf<Float>(3.0.toFloat(), 4.0.toFloat(), 5.0.toFloat(), 6.0.toFloat(), 7.0.toFloat(), 8.0.toFloat(), 9.0.toFloat()))
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest((1.5 * 2)..(3.0 * 3.0), 3.0, 9.0, 1.0, listOf(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0))
|
||||
doTest((1.5.toFloat() * 2.toFloat())..(3.0.toFloat() * 3.0.toFloat()), 3.0.toFloat(), 9.0.toFloat(), 1.toFloat(),
|
||||
listOf<Float>(3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0))
|
||||
listOf<Float>(3.0.toFloat(), 4.0.toFloat(), 5.0.toFloat(), 6.0.toFloat(), 7.0.toFloat(), 8.0.toFloat(), 9.0.toFloat()))
|
||||
}
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(9.0 downTo 3.0, 9.0, 3.0, -1.0, listOf(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0))
|
||||
doTest(9.0.toFloat() downTo 3.0.toFloat(), 9.0.toFloat(), 3.0.toFloat(), -1.0.toFloat(),
|
||||
listOf<Float>(9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0))
|
||||
listOf<Float>(9.0.toFloat(), 8.0.toFloat(), 7.0.toFloat(), 6.0.toFloat(), 5.0.toFloat(), 4.0.toFloat(), 3.0.toFloat()))
|
||||
}
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(4.0..6.0 step 0.5, 4.0, 6.0, 0.5, listOf(4.0, 4.5, 5.0, 5.5, 6.0))
|
||||
doTest(4.0.toFloat()..6.0.toFloat() step 0.5.toFloat(), 4.0.toFloat(), 6.0.toFloat(), 0.5.toFloat(),
|
||||
listOf<Float>(4.0, 4.5, 5.0, 5.5, 6.0))
|
||||
listOf<Float>(4.0.toFloat(), 4.5.toFloat(), 5.0.toFloat(), 5.5.toFloat(), 6.0.toFloat()))
|
||||
}
|
||||
|
||||
test fun simpleSteppedDownTo() {
|
||||
@@ -156,7 +156,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(6.0 downTo 4.0 step 0.5, 6.0, 4.0, -0.5, listOf(6.0, 5.5, 5.0, 4.5, 4.0))
|
||||
doTest(6.0.toFloat() downTo 4.0.toFloat() step 0.5.toFloat(), 6.0.toFloat(), 4.0.toFloat(), -0.5.toFloat(),
|
||||
listOf<Float>(6.0, 5.5, 5.0, 4.5, 4.0))
|
||||
listOf<Float>(6.0.toFloat(), 5.5.toFloat(), 5.0.toFloat(), 4.5.toFloat(), 4.0.toFloat()))
|
||||
}
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(4.0..5.8 step 0.5, 4.0, 5.8, 0.5, listOf(4.0, 4.5, 5.0, 5.5))
|
||||
doTest(4.0.toFloat()..5.8.toFloat() step 0.5.toFloat(), 4.0.toFloat(), 5.8.toFloat(), 0.5.toFloat(),
|
||||
listOf<Float>(4.0, 4.5, 5.0, 5.5))
|
||||
listOf<Float>(4.0.toFloat(), 4.5.toFloat(), 5.0.toFloat(), 5.5.toFloat()))
|
||||
}
|
||||
|
||||
// 'inexact' means last element is not equal to sequence end
|
||||
@@ -185,7 +185,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest(5.5 downTo 3.7 step 0.5, 5.5, 3.7, -0.5, listOf(5.5, 5.0, 4.5, 4.0))
|
||||
doTest(5.5.toFloat() downTo 3.7.toFloat() step 0.5.toFloat(), 5.5.toFloat(), 3.7.toFloat(), -0.5.toFloat(),
|
||||
listOf<Float>(5.5, 5.0, 4.5, 4.0))
|
||||
listOf<Float>(5.5.toFloat(), 5.0.toFloat(), 4.5.toFloat(), 4.0.toFloat()))
|
||||
}
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest((3.0..5.0).reversed(), 5.0, 3.0, -1.0, listOf(5.0, 4.0, 3.0))
|
||||
doTest((3.0.toFloat()..5.0.toFloat()).reversed(), 5.0.toFloat(), 3.0.toFloat(), -1.toFloat(),
|
||||
listOf<Float>(5.0, 4.0, 3.0))
|
||||
listOf<Float>(5.0.toFloat(), 4.0.toFloat(), 3.0.toFloat()))
|
||||
}
|
||||
|
||||
test fun reversedBackSequence() {
|
||||
@@ -236,7 +236,7 @@ public class RangeIterationTest {
|
||||
|
||||
doTest((5.0 downTo 3.0).reversed(), 3.0, 5.0, 1.0, listOf(3.0, 4.0, 5.0))
|
||||
doTest((5.0.toFloat() downTo 3.0.toFloat()).reversed(), 3.0.toFloat(), 5.0.toFloat(), 1.toFloat(),
|
||||
listOf<Float>(3.0, 4.0, 5.0))
|
||||
listOf<Float>(3.0.toFloat(), 4.0.toFloat(), 5.0.toFloat()))
|
||||
}
|
||||
|
||||
test fun reversedSimpleSteppedRange() {
|
||||
@@ -248,8 +248,8 @@ public class RangeIterationTest {
|
||||
doTest(('c'..'g' step 2).reversed(), 'g', 'c', -2, listOf('g', 'e', 'c'))
|
||||
|
||||
doTest((4.0..6.0 step 0.5).reversed(), 6.0, 4.0, -0.5, listOf(6.0, 5.5, 5.0, 4.5, 4.0))
|
||||
doTest((4.0.toFloat()..6.0.toFloat() step 0.5).reversed(), 6.0.toFloat(), 4.0.toFloat(), -0.5.toFloat(),
|
||||
listOf<Float>(6.0, 5.5, 5.0, 4.5, 4.0))
|
||||
doTest((4.0.toFloat()..6.0.toFloat() step 0.5.toFloat()).reversed(), 6.0.toFloat(), 4.0.toFloat(), -0.5.toFloat(),
|
||||
listOf<Float>(6.0.toFloat(), 5.5.toFloat(), 5.0.toFloat(), 4.5.toFloat(), 4.0.toFloat()))
|
||||
}
|
||||
|
||||
// 'inexact' means last element is not equal to sequence end
|
||||
@@ -262,17 +262,17 @@ public class RangeIterationTest {
|
||||
doTest(('d' downTo 'a' step 2).reversed(), 'a', 'd', 2, listOf('a', 'c'))
|
||||
|
||||
doTest((5.8 downTo 4.0 step 0.5).reversed(), 4.0, 5.8, 0.5, listOf(4.0, 4.5, 5.0, 5.5))
|
||||
doTest((5.8.toFloat() downTo 4.0.toFloat() step 0.5).reversed(), 4.0.toFloat(), 5.8.toFloat(), 0.5.toFloat(),
|
||||
listOf<Float>(4.0, 4.5, 5.0, 5.5))
|
||||
doTest((5.8.toFloat() downTo 4.0.toFloat() step 0.5.toFloat()).reversed(), 4.0.toFloat(), 5.8.toFloat(), 0.5.toFloat(),
|
||||
listOf<Float>(4.0.toFloat(), 4.5.toFloat(), 5.0.toFloat(), 5.5.toFloat()))
|
||||
}
|
||||
|
||||
test fun infiniteSteps() {
|
||||
doTest(0.0..5.0 step j.Double.POSITIVE_INFINITY, 0.0, 5.0, j.Double.POSITIVE_INFINITY, listOf(0.0))
|
||||
doTest(0.0.toFloat()..5.0.toFloat() step j.Float.POSITIVE_INFINITY, 0.0.toFloat(), 5.0.toFloat(), j.Float.POSITIVE_INFINITY,
|
||||
listOf<Float>(0.0))
|
||||
listOf<Float>(0.0.toFloat()))
|
||||
doTest(5.0 downTo 0.0 step j.Double.POSITIVE_INFINITY, 5.0, 0.0, j.Double.NEGATIVE_INFINITY, listOf(5.0))
|
||||
doTest(5.0.toFloat() downTo 0.0.toFloat() step j.Float.POSITIVE_INFINITY, 5.0.toFloat(), 0.0.toFloat(), j.Float.NEGATIVE_INFINITY,
|
||||
listOf<Float>(5.0))
|
||||
listOf<Float>(5.0.toFloat()))
|
||||
}
|
||||
|
||||
test fun nanEnds() {
|
||||
|
||||
Reference in New Issue
Block a user