コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: GuildTest.cs プロジェクト: tai-engineer/Imgeneus
        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);
        }
コード例 #3
0
ファイル: GuildTest.cs プロジェクト: tai-engineer/Imgeneus
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: GuildTest.cs プロジェクト: tai-engineer/Imgeneus
        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);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
ファイル: GuildTest.cs プロジェクト: tai-engineer/Imgeneus
        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);
        }
コード例 #8
0
ファイル: GuildTest.cs プロジェクト: tai-engineer/Imgeneus
        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);
        }
コード例 #9
0
        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);
        }