public async Task TestInsertAllDoesNotOverwriteExistingDataReturnsSkippedTuples() { var existing = new[] { GetPoco(2, "x"), GetPoco(4, "y") }.ToDictionary(x => x.Key); await PocoView.InsertAllAsync(null, existing.Values); var ids = Enumerable.Range(1, 10).ToList(); var records = ids.Select(x => GetPoco(x, x.ToString(CultureInfo.InvariantCulture))); IList <Poco> skipped = await PocoView.InsertAllAsync(null, records); var skippedArr = skipped.OrderBy(x => x.Key).ToArray(); Assert.AreEqual(2, skippedArr.Length); Assert.AreEqual(2, skippedArr[0].Key); Assert.AreEqual("2", skippedArr[0].Val); Assert.AreEqual(4, skippedArr[1].Key); Assert.AreEqual("4", skippedArr[1].Val); foreach (var id in ids) { var res = await PocoView.GetAsync(null, GetPoco(id)); if (existing.TryGetValue(res !.Key, out var old)) { Assert.AreEqual(old.Val, res.Val); }
public async Task TestInsertAllCreatesRecords() { var ids = Enumerable.Range(1, 10).ToList(); var records = ids.Select(x => GetPoco(x, x.ToString(CultureInfo.InvariantCulture))); IList <Poco> skipped = await PocoView.InsertAllAsync(null, records); CollectionAssert.IsEmpty(skipped); foreach (var id in ids) { var res = await PocoView.GetAsync(null, GetPoco(id)); Assert.AreEqual(id.ToString(CultureInfo.InvariantCulture), res !.Val); } }