Skip to content

Commit 63c1bf4

Browse files
committed
BulkMergeTests
1 parent 11d4547 commit 63c1bf4

File tree

2 files changed

+40
-8
lines changed

2 files changed

+40
-8
lines changed

src/EntityFrameworkCore.SqlServer.SimpleBulks.DbContextExtensionsTests/DbContextExtensions/BulkMergeAsyncTests.cs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public async Task BulkMerge_Using_Linq_With_Transaction(int length, int insertLe
105105
});
106106
}
107107

108-
await _context.BulkMergeAsync(rows,
108+
var result1 = await _context.BulkMergeAsync(rows,
109109
row => row.Id,
110110
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
111111
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
@@ -115,7 +115,7 @@ await _context.BulkMergeAsync(rows,
115115
options.ReturnDbGeneratedId = true;
116116
});
117117

118-
await _context.BulkMergeAsync(compositeKeyRows,
118+
var result2 = await _context.BulkMergeAsync(compositeKeyRows,
119119
row => new { row.Id1, row.Id2 },
120120
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
121121
row => new { row.Id1, row.Id2, row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
@@ -130,6 +130,14 @@ await _context.BulkMergeAsync(compositeKeyRows,
130130
var dbRows = _context.SingleKeyRows.AsNoTracking().ToList();
131131
var dbCompositeKeyRows = _context.CompositeKeyRows.AsNoTracking().ToList();
132132

133+
Assert.Equal(length + insertLength, result1.AffectedRows);
134+
Assert.Equal(insertLength, result1.InsertedRows);
135+
Assert.Equal(length, result1.UpdatedRows);
136+
137+
Assert.Equal(length + insertLength, result2.AffectedRows);
138+
Assert.Equal(insertLength, result2.InsertedRows);
139+
Assert.Equal(length, result2.UpdatedRows);
140+
133141
for (var i = 0; i < length + insertLength; i++)
134142
{
135143
Assert.Equal(rows[i].Id, dbRows[i].Id);
@@ -202,7 +210,7 @@ public async Task BulkMerge_Using_Dynamic_String_With_Transaction(int length, in
202210
});
203211
}
204212

205-
await _context.BulkMergeAsync(rows,
213+
var result1 = await _context.BulkMergeAsync(rows,
206214
"Id",
207215
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
208216
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
@@ -211,7 +219,7 @@ await _context.BulkMergeAsync(rows,
211219
options.LogTo = _output.WriteLine;
212220
options.ReturnDbGeneratedId = true;
213221
});
214-
await _context.BulkMergeAsync(compositeKeyRows,
222+
var result2 = await _context.BulkMergeAsync(compositeKeyRows,
215223
["Id1", "Id2"],
216224
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
217225
["Id1", "Id2", "Column1", "Column2", "Column3", "Season", "SeasonAsString"],
@@ -226,6 +234,14 @@ await _context.BulkMergeAsync(compositeKeyRows,
226234
var dbRows = _context.SingleKeyRows.AsNoTracking().ToList();
227235
var dbCompositeKeyRows = _context.CompositeKeyRows.AsNoTracking().ToList();
228236

237+
Assert.Equal(length + insertLength, result1.AffectedRows);
238+
Assert.Equal(insertLength, result1.InsertedRows);
239+
Assert.Equal(length, result1.UpdatedRows);
240+
241+
Assert.Equal(length + insertLength, result2.AffectedRows);
242+
Assert.Equal(insertLength, result2.InsertedRows);
243+
Assert.Equal(length, result2.UpdatedRows);
244+
229245
for (var i = 0; i < length + insertLength; i++)
230246
{
231247
Assert.Equal(rows[i].Id, dbRows[i].Id);

src/EntityFrameworkCore.SqlServer.SimpleBulks.DbContextExtensionsTests/DbContextExtensions/BulkMergeTests.cs

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public void BulkMerge_Using_Linq_With_Transaction(int length, int insertLength)
105105
});
106106
}
107107

108-
_context.BulkMerge(rows,
108+
var result1 = _context.BulkMerge(rows,
109109
row => row.Id,
110110
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
111111
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
@@ -115,7 +115,7 @@ public void BulkMerge_Using_Linq_With_Transaction(int length, int insertLength)
115115
options.ReturnDbGeneratedId = true;
116116
});
117117

118-
_context.BulkMerge(compositeKeyRows,
118+
var result2 = _context.BulkMerge(compositeKeyRows,
119119
row => new { row.Id1, row.Id2 },
120120
row => new { row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
121121
row => new { row.Id1, row.Id2, row.Column1, row.Column2, row.Column3, row.Season, row.SeasonAsString },
@@ -130,6 +130,14 @@ public void BulkMerge_Using_Linq_With_Transaction(int length, int insertLength)
130130
var dbRows = _context.SingleKeyRows.AsNoTracking().ToList();
131131
var dbCompositeKeyRows = _context.CompositeKeyRows.AsNoTracking().ToList();
132132

133+
Assert.Equal(length + insertLength, result1.AffectedRows);
134+
Assert.Equal(insertLength, result1.InsertedRows);
135+
Assert.Equal(length, result1.UpdatedRows);
136+
137+
Assert.Equal(length + insertLength, result2.AffectedRows);
138+
Assert.Equal(insertLength, result2.InsertedRows);
139+
Assert.Equal(length, result2.UpdatedRows);
140+
133141
for (int i = 0; i < length + insertLength; i++)
134142
{
135143
Assert.Equal(rows[i].Id, dbRows[i].Id);
@@ -202,7 +210,7 @@ public void BulkMerge_Using_Dynamic_String_With_Transaction(int length, int inse
202210
});
203211
}
204212

205-
_context.BulkMerge(rows,
213+
var result1 = _context.BulkMerge(rows,
206214
"Id",
207215
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
208216
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
@@ -211,7 +219,7 @@ public void BulkMerge_Using_Dynamic_String_With_Transaction(int length, int inse
211219
options.LogTo = _output.WriteLine;
212220
options.ReturnDbGeneratedId = true;
213221
});
214-
_context.BulkMerge(compositeKeyRows,
222+
var result2 = _context.BulkMerge(compositeKeyRows,
215223
["Id1", "Id2"],
216224
["Column1", "Column2", "Column3", "Season", "SeasonAsString"],
217225
["Id1", "Id2", "Column1", "Column2", "Column3", "Season", "SeasonAsString"],
@@ -226,6 +234,14 @@ public void BulkMerge_Using_Dynamic_String_With_Transaction(int length, int inse
226234
var dbRows = _context.SingleKeyRows.AsNoTracking().ToList();
227235
var dbCompositeKeyRows = _context.CompositeKeyRows.AsNoTracking().ToList();
228236

237+
Assert.Equal(length + insertLength, result1.AffectedRows);
238+
Assert.Equal(insertLength, result1.InsertedRows);
239+
Assert.Equal(length, result1.UpdatedRows);
240+
241+
Assert.Equal(length + insertLength, result2.AffectedRows);
242+
Assert.Equal(insertLength, result2.InsertedRows);
243+
Assert.Equal(length, result2.UpdatedRows);
244+
229245
for (int i = 0; i < length + insertLength; i++)
230246
{
231247
Assert.Equal(rows[i].Id, dbRows[i].Id);

0 commit comments

Comments
 (0)