Hej, mam za zadanie stworzyć klasę Employee i podać w metodzie init obiekty, oraz odrazu zapisać je jako atrybuty:
def __init__(self, imie, nazwisko, EarnYear):
self.imie = imie
self.nazwisko = nazwisko
self.EarnYear = EarnYear
Oraz dodatkowo stworzyłem klasę give_raise(), która spowoduje zwiększenie wynagrodzenia domyślnie o 5000zł, choć zaakceptuje także inną kwotę:
def give_raise(self, ZwiekszenieWynag = 5000, dodatkoweWyn = ''):
if self.EarnYear:
self.EarnYear += ZwiekszenieWynag
else:
self.EarnYear = dodatkoweWyn
Teraz mam problem aby stworzyć metody testowe. Na początku chciałem sprawdzić atrybuty klasy takie jak imie, nazwisko i EarnYear lecz wywala taki o to komunikat:
AssertionError: <EarnClass.Employee object at 0x0339A330> != 'x y 100'. Nie wiem w sumie, czy mogę w ogóle ztesotwać atrybuty klasy w testach jednostkowych.
Tutaj kod z Testowej klasy:
import unittest
from EarnClass import Employee
class TestGiveRaise(unittest.TestCase):
def setUp(self):
self.data = Employee('x', 'y', '100')
def test_give_default_raise(self):
self.assertEqual(self.data, 'x y 100')
Czy to problem z tym, że instacja błędnie próbuje wychwycić typ _str?
Bardzo bym prosił o pomoc, bo siedzę i wiem że zadanie jest pewnie łatwe, ale głowię się już nad tym zadaniem dłuuuższą chwilę..