66 lines
1.3 KiB
Go
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
|
|
}
|