public void CrudTests() { var database = FakeDatabase.Create <WidgetDatabaseContext>(); using var context = database.Lock(); var records = context.Widgets.AddRange(new[] { new WidgetRecord { Name = "Alice" }, new WidgetRecord { Name = "Bob" }, }); var aliceId = records[0].WidgetId; var bobId = records[1].WidgetId; context.Widgets.Single(x => x.WidgetId == aliceId).Name.Should().Be("Alice"); context.Widgets.Single(x => x.WidgetId == bobId).Name.Should().Be("Bob"); context.Widgets.UpdateWhere(x => x.WidgetId == bobId, x => x.Name = "Robert").Should().Be(1); context.Widgets.RemoveWhere(x => x.WidgetId == aliceId).Should().Be(1); context.Widgets.Any(x => x.WidgetId == aliceId).Should().BeFalse(); context.Widgets.Single(x => x.WidgetId == bobId).Name.Should().Be("Robert"); }
public void NullRecord() { var database = FakeDatabase.Create <WidgetDatabaseContext>(); using var context = database.Lock(); Invoking(() => context.Widgets.Add(null !)).Should().Throw <ArgumentNullException>(); Invoking(() => context.Widgets.AddRange(null !)).Should().Throw <ArgumentNullException>(); Invoking(() => context.Widgets.AddRange(new WidgetRecord[] { null ! })).Should().Throw <ArgumentNullException>();
public async Task LockAsync() { var database = FakeDatabase.Create <WidgetDatabaseContext>(); using var context = await database.LockAsync(CancellationToken.None).ConfigureAwait(false); context.Widgets.Add(new WidgetRecord { Name = "Alice" }); }