@@ -273,7 +273,7 @@ mod tests {
273
273
use std:: { collections:: HashMap , sync:: Arc } ;
274
274
275
275
use actix_web:: test:: TestRequest ;
276
- use arrow_array:: { ArrayRef , Float64Array , StringArray } ;
276
+ use arrow_array:: { ArrayRef , Float64Array , Int64Array , StringArray } ;
277
277
use arrow_schema:: { DataType , Field } ;
278
278
use serde_json:: json;
279
279
@@ -283,11 +283,16 @@ mod tests {
283
283
} ;
284
284
285
285
trait TestExt {
286
+ fn as_int64_arr ( & self ) -> & Int64Array ;
286
287
fn as_float64_arr ( & self ) -> & Float64Array ;
287
288
fn as_utf8_arr ( & self ) -> & StringArray ;
288
289
}
289
290
290
291
impl TestExt for ArrayRef {
292
+ fn as_int64_arr ( & self ) -> & Int64Array {
293
+ self . as_any ( ) . downcast_ref ( ) . unwrap ( )
294
+ }
295
+
291
296
fn as_float64_arr ( & self ) -> & Float64Array {
292
297
self . as_any ( ) . downcast_ref ( ) . unwrap ( )
293
298
}
@@ -319,8 +324,8 @@ mod tests {
319
324
assert_eq ! ( rb. num_rows( ) , 1 ) ;
320
325
assert_eq ! ( rb. num_columns( ) , 6 ) ;
321
326
assert_eq ! (
322
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
323
- & Float64Array :: from_iter( [ 1.0 ] )
327
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
328
+ & Int64Array :: from_iter( [ 1 ] )
324
329
) ;
325
330
assert_eq ! (
326
331
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -359,8 +364,8 @@ mod tests {
359
364
assert_eq ! ( rb. num_rows( ) , 1 ) ;
360
365
assert_eq ! ( rb. num_columns( ) , 5 ) ;
361
366
assert_eq ! (
362
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
363
- & Float64Array :: from_iter( [ 1.0 ] )
367
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
368
+ & Int64Array :: from_iter( [ 1 ] )
364
369
) ;
365
370
assert_eq ! (
366
371
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -377,7 +382,7 @@ mod tests {
377
382
378
383
let schema = fields_to_map (
379
384
[
380
- Field :: new ( "a" , DataType :: Float64 , true ) ,
385
+ Field :: new ( "a" , DataType :: Int64 , true ) ,
381
386
Field :: new ( "b" , DataType :: Utf8 , true ) ,
382
387
Field :: new ( "c" , DataType :: Float64 , true ) ,
383
388
]
@@ -391,8 +396,8 @@ mod tests {
391
396
assert_eq ! ( rb. num_rows( ) , 1 ) ;
392
397
assert_eq ! ( rb. num_columns( ) , 5 ) ;
393
398
assert_eq ! (
394
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
395
- & Float64Array :: from_iter( [ 1.0 ] )
399
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
400
+ & Int64Array :: from_iter( [ 1 ] )
396
401
) ;
397
402
assert_eq ! (
398
403
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -409,7 +414,7 @@ mod tests {
409
414
410
415
let schema = fields_to_map (
411
416
[
412
- Field :: new ( "a" , DataType :: Float64 , true ) ,
417
+ Field :: new ( "a" , DataType :: Int64 , true ) ,
413
418
Field :: new ( "b" , DataType :: Utf8 , true ) ,
414
419
Field :: new ( "c" , DataType :: Float64 , true ) ,
415
420
]
@@ -479,21 +484,21 @@ mod tests {
479
484
let schema = rb. schema ( ) ;
480
485
let fields = & schema. fields ;
481
486
482
- assert_eq ! ( & * fields[ 1 ] , & Field :: new( "a" , DataType :: Float64 , true ) ) ;
487
+ assert_eq ! ( & * fields[ 1 ] , & Field :: new( "a" , DataType :: Int64 , true ) ) ;
483
488
assert_eq ! ( & * fields[ 2 ] , & Field :: new( "b" , DataType :: Utf8 , true ) ) ;
484
- assert_eq ! ( & * fields[ 3 ] , & Field :: new( "c" , DataType :: Float64 , true ) ) ;
489
+ assert_eq ! ( & * fields[ 3 ] , & Field :: new( "c" , DataType :: Int64 , true ) ) ;
485
490
486
491
assert_eq ! (
487
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
488
- & Float64Array :: from( vec![ None , Some ( 1.0 ) , Some ( 1.0 ) ] )
492
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
493
+ & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
489
494
) ;
490
495
assert_eq ! (
491
496
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
492
497
& StringArray :: from( vec![ Some ( "hello" ) , Some ( "hello" ) , Some ( "hello" ) , ] )
493
498
) ;
494
499
assert_eq ! (
495
- rb. column_by_name( "c" ) . unwrap( ) . as_float64_arr ( ) ,
496
- & Float64Array :: from( vec![ None , Some ( 1.0 ) , None ] )
500
+ rb. column_by_name( "c" ) . unwrap( ) . as_int64_arr ( ) ,
501
+ & Int64Array :: from( vec![ None , Some ( 1 ) , None ] )
497
502
) ;
498
503
}
499
504
@@ -524,8 +529,8 @@ mod tests {
524
529
assert_eq ! ( rb. num_rows( ) , 3 ) ;
525
530
assert_eq ! ( rb. num_columns( ) , 6 ) ;
526
531
assert_eq ! (
527
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
528
- & Float64Array :: from( vec![ None , Some ( 1.0 ) , Some ( 1.0 ) ] )
532
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
533
+ & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
529
534
) ;
530
535
assert_eq ! (
531
536
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -559,7 +564,7 @@ mod tests {
559
564
560
565
let schema = fields_to_map (
561
566
[
562
- Field :: new ( "a" , DataType :: Float64 , true ) ,
567
+ Field :: new ( "a" , DataType :: Int64 , true ) ,
563
568
Field :: new ( "b" , DataType :: Utf8 , true ) ,
564
569
Field :: new ( "c" , DataType :: Float64 , true ) ,
565
570
]
@@ -572,8 +577,8 @@ mod tests {
572
577
assert_eq ! ( rb. num_rows( ) , 3 ) ;
573
578
assert_eq ! ( rb. num_columns( ) , 6 ) ;
574
579
assert_eq ! (
575
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
576
- & Float64Array :: from( vec![ None , Some ( 1.0 ) , Some ( 1.0 ) ] )
580
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
581
+ & Int64Array :: from( vec![ None , Some ( 1 ) , Some ( 1 ) ] )
577
582
) ;
578
583
assert_eq ! (
579
584
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -599,7 +604,7 @@ mod tests {
599
604
"c" : 1
600
605
} ,
601
606
{
602
- "a" : "1" ,
607
+ "a" : 1 ,
603
608
"b" : "hello" ,
604
609
"c" : null
605
610
} ,
@@ -609,7 +614,7 @@ mod tests {
609
614
610
615
let schema = fields_to_map (
611
616
[
612
- Field :: new ( "a" , DataType :: Float64 , true ) ,
617
+ Field :: new ( "a" , DataType :: Int64 , true ) ,
613
618
Field :: new ( "b" , DataType :: Utf8 , true ) ,
614
619
Field :: new ( "c" , DataType :: Float64 , true ) ,
615
620
]
@@ -649,8 +654,8 @@ mod tests {
649
654
assert_eq ! ( rb. num_rows( ) , 4 ) ;
650
655
assert_eq ! ( rb. num_columns( ) , 7 ) ;
651
656
assert_eq ! (
652
- rb. column_by_name( "a" ) . unwrap( ) . as_float64_arr ( ) ,
653
- & Float64Array :: from( vec![ Some ( 1.0 ) , Some ( 1.0 ) , Some ( 1.0 ) , Some ( 1.0 ) ] )
657
+ rb. column_by_name( "a" ) . unwrap( ) . as_int64_arr ( ) ,
658
+ & Int64Array :: from( vec![ Some ( 1 ) , Some ( 1 ) , Some ( 1 ) , Some ( 1 ) ] )
654
659
) ;
655
660
assert_eq ! (
656
661
rb. column_by_name( "b" ) . unwrap( ) . as_utf8_arr( ) ,
@@ -663,13 +668,13 @@ mod tests {
663
668
) ;
664
669
665
670
assert_eq ! (
666
- rb. column_by_name( "c_a" ) . unwrap( ) . as_float64_arr ( ) ,
667
- & Float64Array :: from( vec![ None , None , Some ( 1.0 ) , Some ( 1.0 ) ] )
671
+ rb. column_by_name( "c_a" ) . unwrap( ) . as_int64_arr ( ) ,
672
+ & Int64Array :: from( vec![ None , None , Some ( 1 ) , Some ( 1 ) ] )
668
673
) ;
669
674
670
675
assert_eq ! (
671
- rb. column_by_name( "c_b" ) . unwrap( ) . as_float64_arr ( ) ,
672
- & Float64Array :: from( vec![ None , None , None , Some ( 2.0 ) ] )
676
+ rb. column_by_name( "c_b" ) . unwrap( ) . as_int64_arr ( ) ,
677
+ & Int64Array :: from( vec![ None , None , None , Some ( 2 ) ] )
673
678
) ;
674
679
}
675
680
}
0 commit comments