Files
ezbookkeeping/pkg/converters/datatable/basic_data_table_test.go
T
2025-08-08 20:05:26 +08:00

66 lines
1.3 KiB
Go

package datatable
type testBasicDataTable struct {
headerColumns []string
rows []*testBasicDataTableRow
}
type testBasicDataTableRow struct {
rowId string
rowColumns []string
}
type testBasicDataTableRowIterator struct {
rows []*testBasicDataTableRow
currentIndex int
}
func (t *testBasicDataTable) HeaderColumnNames() []string {
return t.headerColumns
}
func (t *testBasicDataTable) DataRowCount() int {
return len(t.rows)
}
func (t *testBasicDataTable) DataRowIterator() BasicDataTableRowIterator {
return &testBasicDataTableRowIterator{
rows: t.rows,
currentIndex: -1,
}
}
func (r *testBasicDataTableRow) ColumnCount() int {
return len(r.rowColumns)
}
func (r *testBasicDataTableRow) GetData(columnIndex int) string {
if columnIndex < 0 || columnIndex >= len(r.rowColumns) {
return ""
}
return r.rowColumns[columnIndex]
}
func (t *testBasicDataTableRowIterator) HasNext() bool {
return t.currentIndex+1 < len(t.rows)
}
func (t *testBasicDataTableRowIterator) CurrentRowId() string {
if t.currentIndex >= len(t.rows) {
return ""
}
return t.rows[t.currentIndex].rowId
}
func (t *testBasicDataTableRowIterator) Next() BasicDataTableRow {
if t.currentIndex+1 >= len(t.rows) {
return nil
}
t.currentIndex++
row := t.rows[t.currentIndex]
return row
}