def test_armor_proficiency(self): c = PlayerClass('Bob', 10) c.add_armor_proficiencies([ArmorType.MEDIUM_ARMOR, ArmorId.SPLINT]) self.assertTrue(c.is_armor_proficient(armors[ArmorId.HIDE])) self.assertTrue(c.is_armor_proficient(armors[ArmorId.SPLINT])) self.assertFalse(c.is_armor_proficient(armors[ArmorId.LEATHER])) self.assertFalse(c.is_armor_proficient(armors[ArmorId.PLATE]))
def test_weapon_proficiency(self): c = PlayerClass('Bob', 10) c.add_weapon_proficiencies( [WeaponType.SIMPLE_RANGED, WeaponId.GREATSWORD]) self.assertTrue(c.is_weapon_proficient(weapons[WeaponId.SHORTBOW])) self.assertTrue(c.is_weapon_proficient(weapons[WeaponId.GREATSWORD])) self.assertFalse(c.is_weapon_proficient(weapons[WeaponId.MAUL])) self.assertFalse( c.is_weapon_proficient(weapons[WeaponId.HEAVY_CROSSBOW]))
def test_4_proficiency_bonus(self): c = PlayerClass('Bob', 10) c.add_exp(90000) self.assertEqual(4, c.get_proficiency_bonus())
def test_level_20_more(self): c = PlayerClass('Bob', 10) c.add_exp(1000000) self.assertEqual(20, c.get_level())
def test_level_19(self): c = PlayerClass('Bob', 10) c.add_exp(305000) self.assertEqual(19, c.get_level())
def test_level_10(self): c = PlayerClass('Bob', 10) c.add_exp(80000) self.assertEqual(10, c.get_level())
def test_level_2_more(self): c = PlayerClass('Bob', 10) c.add_exp(375) self.assertEqual(2, c.get_level())
def test_level_1_more(self): c = PlayerClass('Bob', 10) c.add_exp(150) self.assertEqual(1, c.get_level())
def test_level_1(self): c = PlayerClass('Bob', 10) self.assertEqual(1, c.get_level())
def test_language(self): c = PlayerClass('Bob', 10) c.add_languages([Languages.COMMON, Languages.ORC]) self.assertTrue(Languages.ORC in c.get_languages())