public async Task BlankDatabaseSyncTests() { this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[0]); this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[0]); for (int i = 0; i < 9; i++) { this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[1]); } this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[2]); await TestDbProvider.AlterAndVerifyAsync( alter : db => this.Service.Sync(), verify : db => { Assert.That(db.XpCounts, Has.Exactly(3).Items); XpCount u1 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[0]); XpCount u2 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[1]); XpCount u3 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[2]); Assert.That(db.XpCounts.Find((long)MockData.Ids[0], 123451234512345), Is.Null); Assert.That(u1, Is.Not.Null); Assert.That(u2, Is.Not.Null); Assert.That(u3, Is.Not.Null); Assert.That(u1.Xp, Is.EqualTo(2)); Assert.That(u2.Xp, Is.EqualTo(9)); Assert.That(u3.Xp, Is.EqualTo(1)); return(Task.CompletedTask); } ); }
public async Task FilledDatabaseSyncTests() { await TestDbProvider.SetupAlterAndVerifyAsync( setup : db => { db.XpCounts.AddRange(new[] { new XpCount { Xp = 5, GuildId = MockData.Ids[0], UserId = MockData.Ids[0] }, new XpCount { Xp = 5, GuildId = MockData.Ids[0], UserId = MockData.Ids[1] }, new XpCount { Xp = 1, GuildId = MockData.Ids[1], UserId = MockData.Ids[1] }, }); db.SaveChanges(); this.Service.LoadData(); return(Task.CompletedTask); }, alter : db => { this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[1]); this.Service.ChangeXp(MockData.Ids[1], MockData.Ids[1]); this.Service.ChangeXp(MockData.Ids[2], MockData.Ids[1]); this.Service.ChangeXp(MockData.Ids[0], MockData.Ids[2]); return(this.Service.Sync()); }, verify : db => { Assert.That(db.XpCounts, Has.Exactly(5).Items); XpCount u00 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[0]); XpCount u01 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[1]); XpCount u11 = db.XpCounts.Find((long)MockData.Ids[1], (long)MockData.Ids[1]); XpCount u21 = db.XpCounts.Find((long)MockData.Ids[2], (long)MockData.Ids[1]); XpCount u02 = db.XpCounts.Find((long)MockData.Ids[0], (long)MockData.Ids[2]); Assert.That(db.XpCounts.Find((long)MockData.Ids[0], 123451234512345), Is.Null); Assert.That(u00, Is.Not.Null); Assert.That(u01, Is.Not.Null); Assert.That(u11, Is.Not.Null); Assert.That(u21, Is.Not.Null); Assert.That(u02, Is.Not.Null); Assert.That(u00.Xp, Is.EqualTo(5)); Assert.That(u01.Xp, Is.EqualTo(6)); Assert.That(u11.Xp, Is.EqualTo(2)); Assert.That(u21.Xp, Is.EqualTo(1)); Assert.That(u02.Xp, Is.EqualTo(1)); Assert.That(this.Service.GetUserXp(MockData.Ids[0], MockData.Ids[0]), Is.EqualTo(5)); Assert.That(this.Service.GetUserXp(MockData.Ids[0], MockData.Ids[1]), Is.EqualTo(6)); Assert.That(this.Service.GetUserXp(MockData.Ids[1], MockData.Ids[1]), Is.EqualTo(2)); Assert.That(this.Service.GetUserXp(MockData.Ids[2], MockData.Ids[1]), Is.EqualTo(1)); Assert.That(this.Service.GetUserXp(MockData.Ids[0], MockData.Ids[2]), Is.EqualTo(1)); return(Task.CompletedTask); } ); }