public async Task AddMonster_WhenRepositoryIsEmptyAndNewMonsterLacksId_ShouldAddMonsterAndReturnIt() { // Setup var monsters = Enumerable.Empty <Monster>(); var expected = new Monster("awake 1", "name 1", 3, Element.Fire, "awakenedimg", "img", null, null, null, null, null); var originalId = expected.Id; fixture = new MonsterRepository(monsters); // Execute var actual = await fixture.AddMonster(expected); // Verify actual.Should().BeEquivalentTo(expected, options => options.Excluding(monster => monster.Id)); actual.Id.Should().NotBe(originalId); }
public async Task AddMonster_WhenRepositoryIsEmptyAndNewMonsterHasExistingId_ShouldAddMonsterWithIdAndReturnIt() { // Setup var monsters = Enumerable.Empty <Monster>(); var expected = new Monster("awake 1", "name 1", 3, Element.Wind, "awakenedimg", "img", null, null, null, null, null) { Id = Guid.Parse("2e846d8d-a45d-4548-9240-e2ed7fa91e3c") }; fixture = new MonsterRepository(monsters); // Execute var actual = await fixture.AddMonster(expected); // Verify actual.Should().BeEquivalentTo(expected); }
public async Task AddMonster_WhenRepositoryIsEmptyAndNewMonsterHasNumberZero_ShouldAddMonsterWithNumberAndReturnIt() { // Setup var monsters = Enumerable.Empty <Monster>(); var newMonster = new Monster("awake 1", "name 1", 3, Element.Wind, "awakenedimg", "img", null, null, null, null, null); var expected = new Monster("awake 1", "name 1", 3, Element.Wind, "awakenedimg", "img", null, null, null, null, null) { Number = 1 }; fixture = new MonsterRepository(monsters); // Execute var actual = await fixture.AddMonster(newMonster); // Verify actual.Should().BeEquivalentTo(expected, options => options.Excluding(monster => monster.Id)); }
public async Task AddMonster_WhenRepositoryHasExactMonster_ShouldJustReturnExistingMonster() { // Setup var existingMonsterWithNewValues = new Monster("new awake 1", "new name 1", 3, Element.Wind, "new awakenedimg1", "new img1", null, null, null, null, null) { Id = Guid.Parse("6beb6507-f68d-4d3d-8abf-0e04015c1119") }; var expected = new Monster("awake 1", "name 1", 4, Element.Light, "awakenedimg", "img", null, null, null, null, null) { Id = Guid.Parse("6beb6507-f68d-4d3d-8abf-0e04015c1119") }; var monsters = new Monster[] { expected }; fixture = new MonsterRepository(monsters); // Execute var actual = await fixture.AddMonster(existingMonsterWithNewValues); // Verify actual.Should().BeEquivalentTo(expected); }