|
|
@ -2,17 +2,11 @@
|
|
|
|
using Data.EF.Players;
|
|
|
|
using Data.EF.Players;
|
|
|
|
using Microsoft.Data.Sqlite;
|
|
|
|
using Microsoft.Data.Sqlite;
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
using Microsoft.Extensions.Options;
|
|
|
|
|
|
|
|
using Model.Players;
|
|
|
|
|
|
|
|
using System;
|
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using Xunit;
|
|
|
|
using Xunit;
|
|
|
|
using Xunit.Sdk;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Tests.Data_UTs.Players
|
|
|
|
namespace Tests.Data_UTs.Players
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -33,32 +27,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
.Options;
|
|
|
|
.Options;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
|
|
|
|
[InlineData("Alice")]
|
|
|
|
|
|
|
|
[InlineData("Bob")]
|
|
|
|
|
|
|
|
[InlineData("Clyde")]
|
|
|
|
|
|
|
|
[InlineData("Dahlia")]
|
|
|
|
|
|
|
|
public void TestDbStubContainsAll(string name)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PlayerDbManager mgr;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using (DiceAppDbContextWithStub db = new(options))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.True(mgr.IsPresentByName(name));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestConstructorWhenGivenContextThenConstructs()
|
|
|
|
public async Task TestConstructorWhenGivenContextThenConstructs()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -72,7 +42,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Equal(new Collection<PlayerEntity>(), mgr.GetAll());
|
|
|
|
Assert.Equal(new Collection<PlayerEntity>(), await mgr.GetAll());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -93,7 +63,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestAddWhenValidThenValid()
|
|
|
|
public async Task TestAddWhenValidThenValid()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -107,8 +77,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
mgr.Add(new PlayerEntity() { Name = expectedName });
|
|
|
|
await mgr.Add(new PlayerEntity() { Name = expectedName });
|
|
|
|
mgr.Add(new PlayerEntity() { Name = "whatever" });
|
|
|
|
await mgr.Add(new PlayerEntity() { Name = "whatever" });
|
|
|
|
// mgr takes care of the SaveChange() calls internally
|
|
|
|
// mgr takes care of the SaveChange() calls internally
|
|
|
|
// we might use Units of Work later, to optimize our calls to DB
|
|
|
|
// we might use Units of Work later, to optimize our calls to DB
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -119,14 +89,14 @@ namespace Tests.Data_UTs.Players
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
Assert.Equal(expectedName, mgr.GetOneByName(expectedName).Name);
|
|
|
|
Assert.Equal(expectedName, (await mgr.GetOneByName(expectedName)).Name);
|
|
|
|
Assert.Equal(expectedCount, mgr.GetAll().Count());
|
|
|
|
Assert.Equal(expectedCount, (await mgr.GetAll()).Count());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestAddWhenPreExistentThenException()
|
|
|
|
public async Task TestAddWhenPreExistentThenException()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -140,12 +110,12 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
await mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
void action() => mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
async Task actionAsync() => await mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentException>(action);
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -164,11 +134,11 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
void action() => mgr.Add(null);
|
|
|
|
async Task actionAsync() => await mgr.Add(null);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentNullException>(action);
|
|
|
|
Assert.ThrowsAsync<ArgumentNullException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -190,11 +160,11 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
void action() => mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
async Task actionAsync() => await mgr.Add(new PlayerEntity() { Name = name });
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentException>(action);
|
|
|
|
Assert.ThrowsAsync<ArgumentException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -202,7 +172,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(null)]
|
|
|
|
[InlineData(null)]
|
|
|
|
[InlineData("")]
|
|
|
|
[InlineData("")]
|
|
|
|
public void TestGetOneByNameWhenInvalidThenException(string name)
|
|
|
|
public async Task TestGetOneByNameWhenInvalidThenException(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -215,14 +185,14 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { Name = "Ernesto" });
|
|
|
|
await mgr.Add(new() { Name = "Ernesto" });
|
|
|
|
mgr.Add(new() { Name = "Basil" });
|
|
|
|
await mgr.Add(new() { Name = "Basil" });
|
|
|
|
|
|
|
|
|
|
|
|
void action() => mgr.GetOneByName(name);
|
|
|
|
async Task actionAsync() => await mgr.GetOneByName(name);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentException>(action);
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -230,7 +200,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
[InlineData("Caroline")]
|
|
|
|
[InlineData("Caroline")]
|
|
|
|
[InlineData("Caroline ")]
|
|
|
|
[InlineData("Caroline ")]
|
|
|
|
[InlineData(" Caroline")]
|
|
|
|
[InlineData(" Caroline")]
|
|
|
|
public void TestGetOneByNameWhenValidAndExistsThenGetsIt(string name)
|
|
|
|
public async Task TestGetOneByNameWhenValidAndExistsThenGetsIt(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -246,8 +216,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(expected);
|
|
|
|
await mgr.Add(expected);
|
|
|
|
mgr.Add(new() { Name = "Philip" });
|
|
|
|
await mgr.Add(new() { Name = "Philip" });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -256,13 +226,13 @@ namespace Tests.Data_UTs.Players
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
actual = mgr.GetOneByName(name);
|
|
|
|
actual = await mgr.GetOneByName(name);
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestGetOneByNameWhenValidAndNotExistsThenException()
|
|
|
|
public async Task TestGetOneByNameWhenValidAndNotExistsThenException()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -276,19 +246,19 @@ namespace Tests.Data_UTs.Players
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
//mgr.Add(expected);
|
|
|
|
//mgr.Add(expected);
|
|
|
|
mgr.Add(new() { Name = "Brett" });
|
|
|
|
await mgr.Add(new() { Name = "Brett" });
|
|
|
|
mgr.Add(new() { Name = "Noah" });
|
|
|
|
await mgr.Add(new() { Name = "Noah" });
|
|
|
|
|
|
|
|
|
|
|
|
void action() => mgr.GetOneByName("*r^a*éàru é^à");
|
|
|
|
async Task actionAsync() => await mgr.GetOneByName("*r^a*éàru é^à");
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<InvalidOperationException>(action);
|
|
|
|
await Assert.ThrowsAsync<InvalidOperationException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestIsPresentByNameWhenValidAndExistsThenTrue()
|
|
|
|
public async Task TestIsPresentByNameWhenValidAndExistsThenTrue()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -302,8 +272,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { Name = "Philip" });
|
|
|
|
await mgr.Add(new() { Name = "Philip" });
|
|
|
|
mgr.Add(new() { Name = name });
|
|
|
|
await mgr.Add(new() { Name = name });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -313,7 +283,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.True(mgr.IsPresentByName(name));
|
|
|
|
Assert.True(await mgr.IsPresentByName(name));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -321,8 +291,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
[InlineData("")]
|
|
|
|
[InlineData("")]
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(null)]
|
|
|
|
[InlineData(null)]
|
|
|
|
[InlineData("Barbara")]
|
|
|
|
[InlineData("nowaythatthisnameisalreadyinourdatabase")]
|
|
|
|
public void TestIsPresentByNameWhenInvalidOrNonExistentThenFalse(string name)
|
|
|
|
public async Task TestIsPresentByNameWhenInvalidOrNonExistentThenFalse(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -335,8 +305,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { Name = "Herman" });
|
|
|
|
await mgr.Add(new() { Name = "Herman" });
|
|
|
|
mgr.Add(new() { Name = "Paulo" });
|
|
|
|
await mgr.Add(new() { Name = "Paulo" });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -346,7 +316,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.False(mgr.IsPresentByName(name));
|
|
|
|
Assert.False(await mgr.IsPresentByName(name));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -379,46 +349,38 @@ namespace Tests.Data_UTs.Players
|
|
|
|
|
|
|
|
|
|
|
|
PlayerDbManager mgr;
|
|
|
|
PlayerDbManager mgr;
|
|
|
|
|
|
|
|
|
|
|
|
PlayerEntity toRemove = new() { Name = "Filibert" };
|
|
|
|
PlayerEntity toRemove = new() { ID = Guid.NewGuid(), Name = "Please!" };
|
|
|
|
|
|
|
|
|
|
|
|
using (DiceAppDbContext db = new(options))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { Name = "Xavier" });
|
|
|
|
|
|
|
|
mgr.Add(toRemove);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
// Act
|
|
|
|
|
|
|
|
|
|
|
|
using (DiceAppDbContext db = new(options))
|
|
|
|
using (DiceAppDbContextWithStub db = new(options))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
mgr.Add(toRemove); // calls SaveChangesAsync()
|
|
|
|
mgr.Remove(toRemove);
|
|
|
|
mgr.Remove(toRemove);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
using (DiceAppDbContext db = new(options))
|
|
|
|
using (DiceAppDbContextWithStub db = new(options))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.DoesNotContain(toRemove, mgr.GetAll());
|
|
|
|
Assert.DoesNotContain(toRemove, db.Players);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestRemoveWhenNonExistentThenStillNonExistent()
|
|
|
|
public async Task TestRemoveWhenNonExistentThenStillNonExistent()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
|
PlayerDbManager mgr;
|
|
|
|
PlayerDbManager mgr;
|
|
|
|
|
|
|
|
|
|
|
|
PlayerEntity toRemove = new() { Name = "Filibert" };
|
|
|
|
PlayerEntity toRemove = new() { ID = Guid.NewGuid(), Name = "Filibert" };
|
|
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
// Act
|
|
|
|
|
|
|
|
|
|
|
@ -427,7 +389,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { Name = "Bert" });
|
|
|
|
await mgr.Add(new() { ID = Guid.NewGuid(), Name = "Bert" });
|
|
|
|
mgr.Remove(toRemove);
|
|
|
|
mgr.Remove(toRemove);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -438,14 +400,14 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.DoesNotContain(toRemove, mgr.GetAll());
|
|
|
|
Assert.DoesNotContain(toRemove, await mgr.GetAll());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Theory]
|
|
|
|
[Theory]
|
|
|
|
[InlineData("filiBert")]
|
|
|
|
[InlineData("filiBert")]
|
|
|
|
[InlineData("Bertrand")]
|
|
|
|
[InlineData("Bertrand")]
|
|
|
|
public void TestUpdateWhenValidThenUpdates(string name)
|
|
|
|
public async Task TestUpdateWhenValidThenUpdates(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -462,8 +424,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(before);
|
|
|
|
await mgr.Add(before);
|
|
|
|
mgr.Update(before, after);
|
|
|
|
await mgr.Update(before, after);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -473,8 +435,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.DoesNotContain(before, mgr.GetAll());
|
|
|
|
Assert.DoesNotContain(before, await mgr.GetAll());
|
|
|
|
Assert.Contains(after, mgr.GetAll());
|
|
|
|
Assert.Contains(after, await mgr.GetAll());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -482,7 +444,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
[InlineData("Valerie")]
|
|
|
|
[InlineData("Valerie")]
|
|
|
|
[InlineData("Valerie ")]
|
|
|
|
[InlineData("Valerie ")]
|
|
|
|
[InlineData(" Valerie")]
|
|
|
|
[InlineData(" Valerie")]
|
|
|
|
public void TestUpdateWhenSameThenKeepsAndWorks(string name)
|
|
|
|
public async Task TestUpdateWhenSameThenKeepsAndWorks(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -500,8 +462,8 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(before);
|
|
|
|
await mgr.Add(before);
|
|
|
|
mgr.Update(before, after);
|
|
|
|
await mgr.Update(before, after);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -511,14 +473,14 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Contains(before, mgr.GetAll());
|
|
|
|
Assert.Contains(before, await mgr.GetAll());
|
|
|
|
Assert.Contains(after, mgr.GetAll());
|
|
|
|
Assert.Contains(after, await mgr.GetAll());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestUpdateWhenNewIDThenException()
|
|
|
|
public async Task TestUpdateWhenNewIDThenException()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -534,12 +496,12 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(before);
|
|
|
|
await mgr.Add(before);
|
|
|
|
void action() => mgr.Update(before, after);
|
|
|
|
async Task actionAsync() => await mgr.Update(before, after);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentException>(action);
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -547,7 +509,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
[InlineData("")]
|
|
|
|
[InlineData("")]
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(" ")]
|
|
|
|
[InlineData(null)]
|
|
|
|
[InlineData(null)]
|
|
|
|
public void TestUpdateWhenInvalidThenException(string name)
|
|
|
|
public async Task TestUpdateWhenInvalidThenException(string name)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -564,17 +526,17 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(before);
|
|
|
|
await mgr.Add(before);
|
|
|
|
void action() => mgr.Update(before, after);
|
|
|
|
async Task actionAsync() => await mgr.Update(before, after);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentException>(action);
|
|
|
|
await Assert.ThrowsAsync<ArgumentException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestUpdateWhenNullThenException()
|
|
|
|
public async Task TestUpdateWhenNullThenException()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -589,17 +551,17 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(before);
|
|
|
|
await mgr.Add(before);
|
|
|
|
void action() => mgr.Update(before, null);
|
|
|
|
async Task actionAsync() => await mgr.Update(before, null);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<ArgumentNullException>(action);
|
|
|
|
await Assert.ThrowsAsync<ArgumentNullException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestGetOneByIDWhenExistsThenGetsIt()
|
|
|
|
public async Task TestGetOneByIDWhenExistsThenGetsIt()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -616,7 +578,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(expected);
|
|
|
|
await mgr.Add(expected);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -625,13 +587,13 @@ namespace Tests.Data_UTs.Players
|
|
|
|
{
|
|
|
|
{
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
actual = mgr.GetOneByID(id);
|
|
|
|
actual = await mgr.GetOneByID(id);
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
Assert.Equal(expected, actual);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestGetOneByIDWhenNotExistsThenException()
|
|
|
|
public async Task TestGetOneByIDWhenNotExistsThenExceptionAsync()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -649,18 +611,18 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(expected);
|
|
|
|
await mgr.Add(expected);
|
|
|
|
|
|
|
|
|
|
|
|
void action() => mgr.GetOneByID(otherId);
|
|
|
|
async Task actionAsync() => await mgr.GetOneByID(otherId);
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
|
|
|
|
|
|
|
|
|
Assert.Throws<InvalidOperationException>(action);
|
|
|
|
await Assert.ThrowsAsync<InvalidOperationException>(actionAsync);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestIsPresentbyIdWhenExistsThenTrue()
|
|
|
|
public async Task TestIsPresentbyIdWhenExistsThenTrue()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -674,7 +636,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { ID = id, Name = "Bobby" });
|
|
|
|
await mgr.Add(new() { ID = id, Name = "Bobby" });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -684,12 +646,12 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.True(mgr.IsPresentByID(id));
|
|
|
|
Assert.True(await mgr.IsPresentByID(id));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
[Fact]
|
|
|
|
public void TestIsPresentbyIdWhenExistsThenFalse()
|
|
|
|
public async Task TestIsPresentbyIdWhenNotExistsThenFalse()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// Arrange
|
|
|
|
// Arrange
|
|
|
|
|
|
|
|
|
|
|
@ -698,6 +660,9 @@ namespace Tests.Data_UTs.Players
|
|
|
|
|
|
|
|
|
|
|
|
Guid otherId = Guid.NewGuid();
|
|
|
|
Guid otherId = Guid.NewGuid();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PlayerEntity presentEntity;
|
|
|
|
|
|
|
|
PlayerEntity absentEntity;
|
|
|
|
|
|
|
|
|
|
|
|
// Act
|
|
|
|
// Act
|
|
|
|
|
|
|
|
|
|
|
|
using (DiceAppDbContext db = new(options))
|
|
|
|
using (DiceAppDbContext db = new(options))
|
|
|
@ -705,7 +670,10 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
mgr.Add(new() { ID = id, Name = "Victor" });
|
|
|
|
presentEntity = new() { ID = id, Name = "Victor" };
|
|
|
|
|
|
|
|
await mgr.Add(presentEntity);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
absentEntity = new() { ID = otherId, Name = "Victor" };
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Assert
|
|
|
|
// Assert
|
|
|
@ -715,7 +683,7 @@ namespace Tests.Data_UTs.Players
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
db.Database.EnsureCreated();
|
|
|
|
mgr = new(db);
|
|
|
|
mgr = new(db);
|
|
|
|
|
|
|
|
|
|
|
|
Assert.False(mgr.IsPresentByID(otherId));
|
|
|
|
Assert.DoesNotContain(absentEntity, db.Players);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|