class TestTrapCard(TestCase): def setUp(self): self.trap_card = TrapCard('Test1') def test_attributes_are_set(self): self.assertEqual('Test1', self.trap_card.name) self.assertEqual(120, self.trap_card.damage_points) self.assertEqual(5, self.trap_card.health_points) def test_set_card_name_with_empty_string__raises(self): with self.assertRaises(ValueError) as ex: self.trap_card.name(card=TrapCard('')) self.assertEqual("Card's name cannot be an empty string.", str(ex.exception)) def test_check_class_name(self): self.assertEqual("TrapCard", self.trap_card.__class__.__name__)
def test_name_invalid_data_should_raise_error(self): card = TrapCard("TestCard") with self.assertRaises(ValueError): card.name = ""
def test_name_setter(self): card = TrapCard('test') card.name = 'new' self.assertEqual('new', card.name)
def test_name_valid_data_should_work_correctly(self): card = TrapCard("TestCard") card.name = "Pesho" self.assertEqual(card.name, "Pesho")
def test_name_raises(self): card = TrapCard('test') with self.assertRaises(ValueError) as ex: card.name = '' self.assertEqual(str(ex.exception), "Card's name cannot be an empty string.")