Skip to content

Commit d76be05

Browse files
author
Richard Artoul
committed
Add test for data reset
1 parent d102b1f commit d76be05

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

go/arrow/array/data_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package array
2+
3+
import (
4+
"testing"
5+
6+
"github.com/apache/arrow/go/arrow"
7+
"github.com/apache/arrow/go/arrow/memory"
8+
"github.com/stretchr/testify/assert"
9+
)
10+
11+
func TestDataReset(t *testing.T) {
12+
var (
13+
buffers1 = make([]*memory.Buffer, 0, 3)
14+
buffers2 = make([]*memory.Buffer, 0, 3)
15+
)
16+
for i := 0; i < cap(buffers1); i++ {
17+
buffers1 = append(buffers1, memory.NewBufferBytes([]byte("some-bytes1")))
18+
buffers2 = append(buffers2, memory.NewBufferBytes([]byte("some-bytes2")))
19+
}
20+
21+
data := NewData(&arrow.StringType{}, 10, buffers1, nil, 0, 0)
22+
data.Reset(&arrow.Int64Type{}, 5, buffers2, nil, 1, 2)
23+
24+
for i := 0; i < 2; i++ {
25+
assert.Equal(t, buffers2, data.Buffers())
26+
assert.Equal(t, &arrow.Int64Type{}, data.DataType())
27+
assert.Equal(t, 1, data.NullN())
28+
assert.Equal(t, 2, data.Offset())
29+
assert.Equal(t, 5, data.Len())
30+
31+
// Make sure it works when resetting the data with its own buffers (new buffers are retained
32+
// before old ones are released.)
33+
data.Reset(&arrow.Int64Type{}, 5, data.Buffers(), nil, 1, 2)
34+
}
35+
}

0 commit comments

Comments
 (0)