PaiGram/test/model/wiki/test_wiki.py
2022-07-26 18:07:31 +08:00

55 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import unittest
from unittest import IsolatedAsyncioTestCase
from model.wiki.characters import Characters
from model.wiki.weapons import Weapons
weapons = Weapons()
class TestWiki(IsolatedAsyncioTestCase):
TEST_WEAPONS_URL = "https://genshin.honeyhunterworld.com/db/weapon/w_3405/?lang=CHS"
TEST_CHARACTERS_URL = "https://genshin.honeyhunterworld.com/db/char/hutao/?lang=CHS"
def setUp(self):
self.weapons = Weapons()
self.characters = Characters()
async def test_get_weapon(self):
weapon_info = await self.weapons.get_weapon_info(self.TEST_WEAPONS_URL)
self.assertEqual(weapon_info["name"], "护摩之杖")
self.assertEqual(weapon_info["description"], "在早已失落的古老祭仪中,使用的朱赤「柴火杖」。")
self.assertEqual(weapon_info["atk"]["name"], "基础攻击力")
self.assertEqual(weapon_info["atk"]["min"], 46)
self.assertEqual(weapon_info["atk"]["max"], 608)
self.assertEqual(weapon_info["secondary"]["name"], "暴击伤害")
self.assertEqual(weapon_info["secondary"]["min"], 14.4)
self.assertEqual(weapon_info["secondary"]["max"], 66.2)
self.assertEqual(weapon_info["star"]["value"], 5)
self.assertEqual(weapon_info["type"]["name"], "Polearm")
self.assertEqual(weapon_info["passive_ability"]["name"], "无羁的朱赤之蝶")
self.assertEqual(weapon_info["passive_ability"]["description"], "生命值提升20%"
"此外基于装备该武器的角色生命值上限的0.8%"
"获得攻击力加成。当装备该武器的角色生命值低于50%时,"
"进一步获得1%基于生命值上限的攻击力提升。")
async def test_get_all_weapon_url(self):
url_list = await self.weapons.get_all_weapon_url()
self.assertEqual(True, len(url_list) >= 123)
async def test_get_characters(self):
characters_info = await self.characters.get_characters(self.TEST_CHARACTERS_URL)
self.assertEqual(characters_info["name"], "胡桃")
self.assertEqual(characters_info["title"], "雪霁梅香")
self.assertEqual(characters_info["rarity"], 5)
self.assertEqual(characters_info["description"], "「往生堂」七十七代堂主,年纪轻轻就已主掌璃月的葬仪事务。")
self.assertEqual(characters_info["allegiance"], "往生堂")
async def test_get_all_characters_url(self):
url_list = await self.characters.get_all_characters_url()
self.assertEqual(True, len(url_list) >= 49)
if __name__ == "__main__":
unittest.main()