Exemplo n.º 1
0
from Employee import Employee

print(Employee.num_of_employees)
employee_1 = Employee('Luke', 'Skywalker', 100)
print(Employee.num_of_employees)

print(employee_1.pay)
print(employee_1.__dict__)
employee_1.raise_amount = 1.05
employee_1.apply_raise()

print(employee_1.pay)
print(employee_1.__dict__)

employee_2 = Employee('Dane', 'Jones', 1000)
print(Employee.num_of_employees)

for i in Employee.employee_list:
    print(i.pay)
class TestEmployy(unittest.TestCase):

    # Ran once before all other code
    # Useful if want to do something once, but too costy
    # to do before every test
    # Tests should always be isolated
    @classmethod
    def setUpClass(cls):
        print('setUpClass')

    # Ran once at the end after all other code
    @classmethod
    def tearDownClass(cls):
        print('tearDownClass')

    # Will run code before every single test
    def setUp(self):
        print('setUp')
        self.emp_1 = Employee('Corey', 'Schafer', 50000)
        self.emp_2 = Employee('Sue', 'Smith', 60000)

    # Will run code after every single test. Example: closing or deleting databases etc.
    def tearDown(self):
        print('tearDown\n')
        pass

    def test_email(self):
        print('test_email')
        self.assertEqual(self.emp_1.email, '*****@*****.**')
        self.assertEqual(self.emp_2.email, '*****@*****.**')

        # Checks if name changed as reflected in email
        self.emp_1.first = 'John'
        self.emp_2.first = 'Jane'

        self.assertEqual(self.emp_1.email, '*****@*****.**')
        self.assertEqual(self.emp_2.email, '*****@*****.**')

    def test_fullname(self):
        print('test_fullname')
        self.assertEqual(self.emp_1.fullname, 'Corey Schafer')
        self.assertEqual(self.emp_2.fullname, 'Sue Smith')

        self.emp_1.first = 'John'
        self.emp_2.first = 'Jane'

        self.assertEqual(self.emp_1.fullname, 'John Schafer')
        self.assertEqual(self.emp_2.fullname, 'Jane Smith')

    def test_apply_raise(self):
        print('test_apply_raise')
        self.emp_1.apply_raise()
        self.emp_2.apply_raise()

        self.assertEqual(self.emp_1.pay, 52500)
        self.assertEqual(self.emp_2.pay, 63000)

    def test_monthly_schedule(self):
        with patch('employee.requests.get') as mocked_get:
            mocked_get.return_value.ok = True
            mocked_get.return_value.text = 'Success'

            schedule = self.emp_1.monthly_schedule('May')
            mocked_get.asset_called_with('http://company.com/Schafer/May')
            self.assertEqual(schedule, 'Success')

            mocked_get.return_value.ok = False
            mocked_get.return_value.text = 'Bad Response!'

            schedule = self.emp_2.monthly_schedule('June')
            mocked_get.asset_called_with('http://company.com/Smith/June')
            self.assertEqual(schedule, 'Bad Response!')
class TestEmployee(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        #demonstrating that this is run at the beginning of testing
        print('setupClass')

    @classmethod
    def tearDownClass(cls):
        #demonstrating that this is run at the end of testing
        print('teardownClass')

    def setUp(self):
        #run before each test
        self.emp_1 = Employee('John', 'Dwyer', 50000)
        self.emp_2 = Employee('Maddie', 'Wall', 65000)

    def tearDown(self):
        #run after each test
        pass

    def test_email(self):
        self.assertEqual(self.emp_1.email, '*****@*****.**')
        self.assertEqual(self.emp_2.email, '*****@*****.**')

        self.emp_1.first = 'Jon'
        self.emp_2.first = 'Madds'

        self.assertEqual(self.emp_1.email, '*****@*****.**')
        self.assertEqual(self.emp_2.email, '*****@*****.**')

    def test_fullname(self):
        self.assertEqual(self.emp_1.fullname, 'John Dwyer')
        self.assertEqual(self.emp_2.fullname, 'Maddie Wall')

        self.emp_1.first = 'Jon'
        self.emp_2.first = 'Madds'

        self.assertEqual(self.emp_1.fullname, 'Jon Dwyer')
        self.assertEqual(self.emp_2.fullname, 'Madds Wall')

    def test_apply_raise(self):
        self.emp_1.apply_raise()
        self.emp_2.apply_raise()

        self.assertEqual(self.emp_1.pay, 52500)
        self.assertEqual(self.emp_2.pay, 68250)

    def test_monthly_schedule(self):
        with patch('Employee.requests.get') as mocked_get:
            mocked_get.return_value.ok = True
            mocked_get.return_value.text = 'Success'

            schedule = self.emp_1.monthly_schedule('December')
            mocked_get.assert_called_with(
                'http://yourcompany.com/Dwyer/December')
            self.assertEqual(schedule, 'Success')

            mocked_get.return_value.ok = False

            schedule = self.emp_2.monthly_schedule('April')
            mocked_get.assert_called_with('http://yourcompany.com/Wall/April')
            self.assertEqual(schedule, 'Bad Response!')
Exemplo n.º 4
0
class TestEmployee(unittest.TestCase):  #przyklad testowania klasy
    @classmethod
    def setUpClass(
        cls
    ) -> None:  #to odpala sie raz przy inicjalizacji danego modulu testowego
        pass

    @classmethod
    def tearDownClass(
        cls
    ) -> None:  #to odpala sie raz przy zakonczeniu danego modulu testowego
        pass

    def setUp(
        self
    ):  #to jest build in ktory odpala sie przed kazdym testem (kazdym jednym)
        self.emp_1 = Employee('Dawid', 'Oberda', 5000)
        self.emp_2 = Employee('Jan', 'Kowalski', 5510)

    def tearDown(
        self
    ):  #to jest build in ktory odpala sie po kazdym tescie (kazdym jednym)
        pass

    def test_mail(self):

        self.assertEqual(self.emp_1.mail, '*****@*****.**')
        self.assertEqual(self.emp_2.mail, '*****@*****.**')

        self.emp_1.first = 'Mateusz'
        self.emp_2.last = 'Nowak'

        self.assertEqual(self.emp_1.mail, '*****@*****.**')
        self.assertEqual(self.emp_2.mail, '*****@*****.**')

    def test_fullname(self):

        self.assertEqual(self.emp_1.fullname, 'Dawid Oberda')
        self.assertEqual(self.emp_2.fullname, 'Jan Kowalski')

        self.emp_1.first = 'Mateusz'
        self.emp_2.last = 'Nowak'

        self.assertEqual(self.emp_1.fullname, 'Mateusz Oberda')
        self.assertEqual(self.emp_2.fullname, 'Jan Nowak')

    def test_applyRaise(self):

        self.emp_1.apply_raise()
        self.emp_2.apply_raise()

        self.assertEqual(self.emp_1.pay, 5250)
        self.assertEqual(self.emp_2.pay, 5785.5)

    #Ten test polega na udawaniu jakiejsc rzeczy. np. strony internetowej i zwraca wartosci ktore mu podamy aby
    #sprawdzic dzialanie kodu a nie np. dostepnosc danej strony
    def test_monthly_schedule(self):
        with patch(
                'Employee.requests.get'
        ) as mocked_get:  #trzeba jako argument bezposrednio podac klase w ktorej jest to co testujemy
            # test jezeli request zwroci True
            mocked_get.return_value.ok = True  #tutaj definiujemy jakie wartosci ma zwrocic
            mocked_get.return_value.text = 'Sucess'  #tutaj definiujemy jakie wartosci ma zwrocic

            schedule = self.emp_1.monthly_schedule('May')
            mocked_get.assert_called_with(
                'http://company.com/Oberda/May'
            )  #sprawdzanie czy zostanie wywolana odpowiednia strona
            self.assertEqual(schedule, 'Sucess')  #przeprowadzamy test

            #test jezeli request zwroci false
            mocked_get.return_value.ok = False

            schedule = self.emp_1.monthly_schedule('May')
            mocked_get.assert_called_with('http://company.com/Oberda/May')
            self.assertEqual(schedule, 'Bad Response')
Exemplo n.º 5
0
class TestEmployee(unittest.TestCase):

    # Definiamo il metodo SetUpClass(cls) che verrà richiamato prima
    # dell'esecuzione dei test
    @classmethod
    def setUpClass(cls):
        print('Setup Class')

    # Definiamo il metodo tearDownClass(cls) che verrà richiamato alla fine
    # dell'esecuzione dei test
    @classmethod
    def tearDownClass(cls):
        print('\nTearDown Class')

    # Definiamo il metodo setUp(self) per inizializzare gli oggetti
    # da utilizzare durante l'esecuzione dei test
    def setUp(self):
        print("Setting up the objects...")
        self.emp_1 = Employee("John", "Doe", 50000)
        self.emp_2 = Employee("Sue", "Smith", 60000)

    # Definiamo il metodo tearDown(self) per distruggere gli oggetti
    # utilizzati durante l'esecuzione dei test
    def tearDown(self):
        print("tearDown\n")
        print("Destroying the objects...\n")
        pass

    # Definiamo il metodo test_email(self) per testare che il valore restituito
    # dalla funzione email sia effettivamente [email protected]
    def test_email(self):
        print("test_email")
        self.assertEqual(self.emp_1.email(), '*****@*****.**')
        self.assertEqual(self.emp_2.email(), '*****@*****.**')

        # Proviamo a cambiare nome da John a Corey e da Sue a Jane
        # per avere una ulteriore conferma che l'email restituita è ancora [email protected]
        self.emp_1.first = "Corey"
        self.emp_2.first = "Jane"

        self.assertEqual(self.emp_1.email(), '*****@*****.**')
        self.assertEqual(self.emp_2.email(), '*****@*****.**')

    # Definiamo il metodo test_fullname(self) per testare che il valore restituito
    # dalla funzione fullname sia effettivamente Nome Cognome
    def test_fullname(self):
        print("test_fullname")
        self.assertEqual(self.emp_1.fullname(), 'John Doe')
        self.assertEqual(self.emp_2.fullname(), 'Sue Smith')

        # Proviamo a cambiare nome da John a Corey e da Sue a Jane
        # per avere una ulteriore conferma che il nome completo restituito
        # sia Nome Cognome
        self.emp_1.first = "Corey"
        self.emp_2.first = "Jane"

        self.assertEqual(self.emp_1.fullname(), 'Corey Doe')
        self.assertEqual(self.emp_2.fullname(), 'Jane Smith')

    # Definiamo il metodo test_apply_raise(self) per testare che il valore restituito
    # dalla funzione apply_raise sia il valore attuale * il valore definito nella
    # variabile raise_amt
    def test_apply_raise(self):
        print("test_apply_raise")
        self.emp_1.apply_raise()
        self.emp_2.apply_raise()

        # L'oggetto emp_1 ha come paga base 50000 che moltiplicato * 1,05 dovrebbe essere
        # uguale a 52500
        # L'oggetto emp_2 ha come paga base 60000 che moltiplicato * 1,05 dovrebbe essere
        # uguale a 63000
        self.assertEqual(self.emp_1.pay, 52500)
        self.assertEqual(self.emp_2.pay, 63000)