@@ -100,25 +100,25 @@ func Test_Changeset_OneRow(t *testing.T) {
100
100
}
101
101
defer func () {
102
102
if err := session .DeleteSession (); err != nil {
103
- t .Errorf ("Failed to delete session: %v" , err )
103
+ t .Fatalf ("Failed to delete session: %v" , err )
104
104
}
105
105
}()
106
106
107
+ // Attach to the table, insert a row, and capture the iunserted row in a changeset.
107
108
err = session .AttachSession ("test_table" )
108
109
if err != nil {
109
110
t .Fatalf ("Failed to attach session to table: %v" , err )
110
111
}
111
-
112
- _ , err = conn .ExecContext (ctx , `INSERT INTO test_table (value) VALUES ('test')` )
112
+ _ , err = conn .ExecContext (ctx , `INSERT INTO test_table (value) VALUES ('fiona')` )
113
113
if err != nil {
114
114
t .Fatalf ("Failed to insert row: %v" , err )
115
115
}
116
-
117
116
changeset , err := NewChangeset (session )
118
117
if err != nil {
119
118
t .Fatalf ("Failed to generate changeset: %v" , err )
120
119
}
121
120
121
+ // Prepare to iterate over the changeset.
122
122
iter , err := NewChangesetIterator (changeset )
123
123
if err != nil {
124
124
t .Fatalf ("Failed to create changeset iterator: %v" , err )
@@ -129,6 +129,7 @@ func Test_Changeset_OneRow(t *testing.T) {
129
129
t .Fatalf ("changeset does not contain changes: %v" , b )
130
130
}
131
131
132
+ // Check table, number of columns changed, the the operation type.
132
133
tblName , nCol , op , indirect , err := iter .Op ()
133
134
if err != nil {
134
135
t .Fatalf ("Failed to get changeset operation: %v" , err )
@@ -146,21 +147,23 @@ func Test_Changeset_OneRow(t *testing.T) {
146
147
t .Fatalf ("Expected indirect false, got true" )
147
148
}
148
149
150
+ // Now, get the new data.
149
151
dest := make ([]any , nCol )
150
152
if err := iter .New (dest ); err != nil {
151
153
t .Fatalf ("Failed to get new row: %v" , err )
152
154
}
153
155
if v , ok := dest [0 ].(int64 ); ! ok {
154
156
t .Fatalf ("Expected int64, got %T" , dest [0 ])
155
- } else if v != 1 {
156
- t .Fatalf ("Expected 1 , got %d" , v )
157
+ } else if exp , got := v , int64 ( 1 ); exp != got {
158
+ t .Fatalf ("Expected %d , got %d" , exp , got )
157
159
}
158
160
if v , ok := dest [1 ].(string ); ! ok {
159
161
t .Fatalf ("Expected string, got %T" , dest [1 ])
160
- } else if v != "test" {
161
- t .Fatalf ("Expected test, got %s" , v )
162
+ } else if exp , got := v , "fiona" ; exp != got {
163
+ t .Fatalf ("Expected %s, %s" , exp , got )
162
164
}
163
165
166
+ // We only inserted one row, so there should be no more changes.
164
167
if b , err := iter .Next (); err != nil {
165
168
t .Fatalf ("Failed to get next changeset: %v" , err )
166
169
} else if b {
0 commit comments