public async Task CanCreateGuild_GuildNameTest() { var guildManager = new GuildManager(guildLoggerMock.Object, new GuildConfiguration(), new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object, inventoryMock.Object, partyMock.Object, countryMock.Object, etinMock.Object); var result = await guildManager.CanCreateGuild(""); Assert.Equal(GuildCreateFailedReason.WrongName, result); }
public async Task CanCreateGuild_SuccessTest() { var config = new GuildConfiguration() { MinMembers = 2 }; var character1 = CreateCharacter(testMap); var character2 = CreateCharacter(testMap); var party = new Party(); character1.SetParty(party); character2.SetParty(party); var database = new Mock <IDatabase>(); database.Setup(x => x.Characters.FindAsync(character1.Id)).ReturnsAsync(new DbCharacter()); database.Setup(x => x.Characters.FindAsync(character2.Id)).ReturnsAsync(new DbCharacter()); var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), database.Object, gameWorldMock.Object, timeMock.Object); var result = await guildManager.CanCreateGuild(character1, "guild_name"); Assert.Equal(GuildCreateFailedReason.Success, result); }
public async Task CanCreateGuild_GuildNameTest() { var character = CreateCharacter(testMap); var guildManager = new GuildManager(guildLoggerMock.Object, new GuildConfiguration(), new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object); var result = await guildManager.CanCreateGuild(character, ""); Assert.Equal(GuildCreateFailedReason.WrongName, result); }
public async Task CanCreateGuild_MinMembersTest() { var config = new GuildConfiguration() { MinMembers = 2 }; var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object, inventoryMock.Object, partyMock.Object, countryMock.Object, etinMock.Object); var result = await guildManager.CanCreateGuild("guild_name"); Assert.Equal(GuildCreateFailedReason.NotEnoughMembers, result); }
public async Task CanCreateGuild_MinGoldTest() { var config = new GuildConfiguration() { MinGold = 10 }; var character = CreateCharacter(); var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object); var result = await guildManager.CanCreateGuild(character, "guild_name"); Assert.Equal((uint)0, character.Gold); Assert.Equal(GuildCreateFailedReason.NotEnoughGold, result); }
public async Task CanCreateGuild_MinGoldTest() { var config = new GuildConfiguration() { MinGold = 10 }; var inventory = inventoryMock; inventory.Setup(x => x.Gold).Returns(0); var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object, inventory.Object, partyMock.Object, countryMock.Object, etinMock.Object); var result = await guildManager.CanCreateGuild("guild_name"); Assert.Equal((uint)0, inventory.Object.Gold); Assert.Equal(GuildCreateFailedReason.NotEnoughGold, result); }
public async Task CanCreateGuild_AnotherGuildTest() { var config = new GuildConfiguration() { MinMembers = 2 }; var character1 = CreateCharacter(testMap); var character2 = CreateCharacter(testMap); character2.GuildId = 1; var party = new Party(); character1.SetParty(party); character2.SetParty(party); var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object); var result = await guildManager.CanCreateGuild(character1, "guild_name"); Assert.Equal(GuildCreateFailedReason.PartyMemberInAnotherGuild, result); }
public async Task CanCreateGuild_PenaltyTest() { var config = new GuildConfiguration() { MinMembers = 2, MinPenalty = 2 // 2 hours }; var character1 = CreateCharacter(testMap); var character2 = CreateCharacter(testMap); var party = new Party(); character1.SetParty(party); character2.SetParty(party); var time = new Mock <ITimeService>(); time.Setup(x => x.UtcNow) .Returns(new DateTime(2021, 1, 1, 2, 0, 0)); // 1 Jan 2021 02:00 var database = new Mock <IDatabase>(); database.Setup(x => x.Characters.FindAsync(character1.Id)) .ReturnsAsync(new DbCharacter() { Id = character1.Id, GuildLeaveTime = new DateTime(2021, 1, 1, 1, 0, 0) // 1 Jan 2021 01:00 }); database.Setup(x => x.Characters.FindAsync(character2.Id)) .ReturnsAsync(new DbCharacter()); var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), database.Object, gameWorldMock.Object, time.Object); var result = await guildManager.CanCreateGuild(character1, "guild_name"); Assert.Equal(GuildCreateFailedReason.PartyMemberGuildPenalty, result); }
public async Task CanCreateGuild_MinLevelTest() { var config = new GuildConfiguration() { MinMembers = 2, MinLevel = 2 }; var character1 = CreateCharacter(testMap); var character2 = CreateCharacter(testMap); var party = new Party(packetFactoryMock.Object); character1.PartyManager.Party = party; character2.PartyManager.Party = party; var guildManager = new GuildManager(guildLoggerMock.Object, config, new GuildHouseConfiguration(), databaseMock.Object, gameWorldMock.Object, timeMock.Object, inventoryMock.Object, character1.PartyManager, countryMock.Object, etinMock.Object); var result = await guildManager.CanCreateGuild("guild_name"); Assert.Equal(1, character1.LevelProvider.Level); Assert.Equal(1, character2.LevelProvider.Level); Assert.Equal(GuildCreateFailedReason.LevelLimit, result); }