github.com/parquet-go/parquet-go@v0.21.1-0.20240501160520-b3c3a0c3ed6f/scan_test.go (about) 1 package parquet_test 2 3 import ( 4 "testing" 5 6 "github.com/parquet-go/parquet-go" 7 ) 8 9 func TestScanRowReader(t *testing.T) { 10 rows := []parquet.Row{ 11 {parquet.Int64Value(0)}, 12 {parquet.Int64Value(1)}, 13 {parquet.Int64Value(2)}, 14 {parquet.Int64Value(3)}, 15 {parquet.Int64Value(4)}, 16 } 17 18 want := []parquet.Row{ 19 {parquet.Int64Value(0)}, 20 {parquet.Int64Value(1)}, 21 {parquet.Int64Value(2)}, 22 } 23 24 reader := parquet.ScanRowReader(&bufferedRows{rows: rows}, 25 func(row parquet.Row, _ int64) bool { 26 return row[0].Int64() < 3 27 }, 28 ) 29 30 writer := &bufferedRows{} 31 _, err := parquet.CopyRows(writer, reader) 32 if err != nil { 33 t.Fatal(err) 34 } 35 36 assertEqualRows(t, want, writer.rows) 37 }