@@ -3,7 +3,7 @@ from testing import assert_true, assert_false, assert_equal
3
3
from memory import UnsafePointer, ArcPointer
4
4
from firebolt.arrays.base import ArrayData
5
5
from firebolt.buffers import Buffer, Bitmap
6
- from firebolt.dtypes import DType, int8, uint8
6
+ from firebolt.dtypes import DType, int8, uint8, int64
7
7
from firebolt.test_fixtures.arrays import build_array_data, assert_bitmap_set
8
8
9
9
@@ -67,26 +67,28 @@ def test_array_data_write_to_with_offset():
67
67
var bitmap = ArcPointer(Bitmap.alloc(10 ))
68
68
var buffer = ArcPointer(Buffer.alloc[DType.uint8](10 ))
69
69
70
- # Set up data with values at positions 1,2,3
71
- buffer[].unsafe_set[DType.uint8](1 , 10 )
72
- buffer[].unsafe_set[DType.uint8](2 , 11 )
73
- buffer[].unsafe_set[DType.uint8](3 , 12 )
74
-
75
- # Set validity for positions 1,2,3
76
- bitmap[].unsafe_set(1 , True )
77
- bitmap[].unsafe_set(2 , True )
78
- bitmap[].unsafe_set(3 , True )
79
-
80
- # Create ArrayData with offset=1, so logical indices 0,1,2 map to physical indices 1,2,3
81
- var array_data = ArrayData(
82
- dtype = uint8,
83
- length = 3 ,
84
- bitmap = bitmap,
85
- buffers = List(buffer),
86
- children = List[ArcPointer[ArrayData]](),
87
- offset = 1 ,
88
- )
89
-
90
- var writer = String()
91
- writer.write(array_data)
92
- assert_equal(writer.strip(), " 10 11 12" )
70
+ @parameter
71
+ for dtype in [uint8, int64]:
72
+ # Set up data with values at positions 1,2,3
73
+ buffer[].unsafe_set[dtype.native](1 , 10 )
74
+ buffer[].unsafe_set[dtype.native](2 , 11 )
75
+ buffer[].unsafe_set[dtype.native](3 , 12 )
76
+
77
+ # Set validity for positions 1,2,3
78
+ bitmap[].unsafe_set(1 , True )
79
+ bitmap[].unsafe_set(2 , True )
80
+ bitmap[].unsafe_set(3 , True )
81
+
82
+ # Create ArrayData with offset=1, so logical indices 0,1,2 map to physical indices 1,2,3
83
+ var array_data = ArrayData(
84
+ dtype = dtype,
85
+ length = 3 ,
86
+ bitmap = bitmap,
87
+ buffers = List(buffer),
88
+ children = List[ArcPointer[ArrayData]](),
89
+ offset = 1 ,
90
+ )
91
+
92
+ var writer = String()
93
+ writer.write(array_data)
94
+ assert_equal(writer.strip(), " 10 11 12" )
0 commit comments