コード例 #1
0
        public void SetUp()
        {
            EventManager.SetIntance(new EventManager());
            inventory = new Inventory();
            bank      = new Bank();

            bossesController = new BossesController(inventory, bank);
        }
コード例 #2
0
        public void AllCluesDropTableJsonTest()
        {
            BossesController bossesController = new BossesController(new Inventory(), new Bank());

            foreach (string clueName in Database.cluesNames)
            {
                Monster monster = new Monster(clueName);
                monster.Initialize();

                TestContext.WriteLine("Testing: " + monster.bossName);
                int baseChance  = monster.monsterDropTableHandler.baseChance;
                int totalWeight = GetWeightSum(monster.monsterDropTableHandler);
                Assert.AreEqual(baseChance, totalWeight);

                int lootAndTableCount = monster.monsterDropTableHandler.basicLoots.Count + monster.monsterDropTableHandler.monsterDropTables.Count;
                Assert.AreEqual(lootAndTableCount, monster.monsterDropTableHandler.totalBasicLootCount);

                foreach (MonsterDropTable.BasicLoot loot in monster.monsterDropTableHandler.basicLoots)
                {
                    Assert.Greater(loot.id, 0);
                    Assert.Greater(loot.amountMin, 0);
                    Assert.Greater(loot.amountMax, 0);
                }

                foreach (GeneralDropTable generalDropTable in monster.monsterDropTableHandler.generalDropTables)
                {
                    Assert.Greater(generalDropTable.numRolls, 0);
                    foreach (DropTable.Loot item in generalDropTable.lootItems)
                    {
                        Assert.Greater(item.id, 0);
                        Assert.Greater(item.amountMin, 0);
                        Assert.Greater(item.amountMax, 0);
                        Assert.Greater(item.baseChance, 0);
                        Assert.Greater(item.chance, 0);
                    }
                }

                foreach (MonsterDropTable monsterDropTable in monster.monsterDropTableHandler.monsterDropTables)
                {
                    baseChance  = monsterDropTable.baseChance;
                    totalWeight = GetWeightSum(monsterDropTable.basicLoots);
                    Assert.AreEqual(baseChance, totalWeight);

                    Assert.Greater(monsterDropTable.baseChance, 0);
                    foreach (MonsterDropTable.BasicLoot item in monsterDropTable.basicLoots)
                    {
                        Assert.Greater(item.id, 0);
                        if (item.amountMax != 0)
                        {
                            Assert.Greater(item.amountMin, 0);
                            Assert.Greater(item.amountMax, 0);
                        }
                    }
                }

                TestContext.WriteLine("Passed: " + monster.bossName);
            }
        }