viirya commented on code in PR #307:
URL: https://github.com/apache/datafusion-comet/pull/307#discussion_r1581740471
##########
spark/src/test/scala/org/apache/comet/CometCastSuite.scala:
##########
@@ -66,20 +71,65 @@ class CometCastSuite extends CometTestBase with
AdaptiveSparkPlanHelper {
castTest(testValues, DataTypes.BooleanType)
}
- ignore("cast string to byte") {
- castTest(generateStrings(numericPattern, 8).toDF("a"), DataTypes.ByteType)
- }
-
- ignore("cast string to short") {
- castTest(generateStrings(numericPattern, 8).toDF("a"), DataTypes.ShortType)
- }
-
- ignore("cast string to int") {
- castTest(generateStrings(numericPattern, 8).toDF("a"),
DataTypes.IntegerType)
- }
-
- ignore("cast string to long") {
- castTest(generateStrings(numericPattern, 8).toDF("a"), DataTypes.LongType)
+ private val castStringToIntegralInputs: Seq[String] = Seq(
+ "",
+ ".",
+ "+",
+ "-",
+ "+.",
+ "-.",
+ "-0",
+ "+1",
+ "-1",
+ ".2",
+ "-.2",
+ "1e1",
+ "1.1d",
+ "1.1f",
+ Byte.MinValue.toString,
+ (Byte.MinValue.toShort - 1).toString,
+ Byte.MaxValue.toString,
+ (Byte.MaxValue.toShort + 1).toString,
+ Short.MinValue.toString,
+ (Short.MinValue.toInt - 1).toString,
+ Short.MaxValue.toString,
+ (Short.MaxValue.toInt + 1).toString,
+ Int.MinValue.toString,
+ (Int.MinValue.toLong - 1).toString,
+ Int.MaxValue.toString,
+ (Int.MaxValue.toLong + 1).toString,
+ Long.MinValue.toString,
+ Long.MaxValue.toString,
+ "-9223372036854775809", // Long.MinValue -1
+ "9223372036854775808" // Long.MaxValue + 1
+ )
+
+ test("cast string to byte") {
+ // test with hand-picked values
+ castTest(castStringToIntegralInputs.toDF("a"), DataTypes.ByteType)
+ // fuzz test
+ castTest(generateStrings(numericPattern, 5).toDF("a"), DataTypes.ByteType)
+ }
+
+ test("cast string to short") {
+ // test with hand-picked values
+ castTest(castStringToIntegralInputs.toDF("a"), DataTypes.ByteType)
+ // fuzz test
+ castTest(generateStrings(numericPattern, 5).toDF("a"), DataTypes.ByteType)
+ }
+
+ test("cast string to int") {
+ // test with hand-picked values
+ castTest(castStringToIntegralInputs.toDF("a"), DataTypes.ByteType)
+ // fuzz test
+ castTest(generateStrings(numericPattern, 5).toDF("a"), DataTypes.ByteType)
+ }
+
+ test("cast string to long") {
+ // test with hand-picked values
+ castTest(castStringToIntegralInputs.toDF("a"), DataTypes.ByteType)
+ // fuzz test
+ castTest(generateStrings(numericPattern, 5).toDF("a"), DataTypes.ByteType)
Review Comment:
```suggestion
castTest(castStringToIntegralInputs.toDF("a"), DataTypes.LongType)
// fuzz test
castTest(generateStrings(numericPattern, 5).toDF("a"),
DataTypes.LongType)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]