예제 #1
0
def test_get_highest_rated_subordinate_simple() -> None:
    e1 = Employee(1, "Emma Ployee", "Worker", 10000, 50)
    assert e1.get_position_in_hierarchy() == 'Worker'
    e2 = Leader(2, "Sue Perior", "Manager", 20000, 30, "Department")
    e3 = Leader(3, "Bigg Boss", "CEO", 50000, 60, "Company")
    e1.become_subordinate(e2)
    e2.become_subordinate(e3)
    assert e3.get_highest_rated_subordinate().name == 'Sue Perior'
    e1.become_subordinate(e3)
    assert e3.get_highest_rated_subordinate().name == 'Emma Ployee'
예제 #2
0
def test_get_highest_rated_subordinate_advanced() -> None:
    e1 = Employee(1, "Emma Ployee", "Worker", 52000, 50)
    e2 = Employee(2, "Sue Perior", "Manager", 50000, 30)
    e3 = Employee(3, "Robocop", "Worker", 20000, 80)
    e4 = Leader(4, "Sarah", "CEO", 500000, 99, "Some Corp.")
    e5 = Employee(5, "Sofia", "Worker", 10000, 69)
    e6 = Employee(6, "Terry", "Worker", 5000, 79)
    e7 = Employee(7, "Odysseus", "Worker", 62000, 88)
    e8 = Employee(8, "Sparrow", "Contract Worker", 60000, 12)
    e9 = Employee(9, "Nick", "Contract Worker", 70000, 25)
    e10 = Employee(10, "Theseus", "Contract Worker", 80000, 87)
    e1.become_subordinate(e2)
    e3.become_subordinate(e2)
    e2.become_subordinate(e4)
    e5.become_subordinate(e2)
    e6.become_subordinate(e4)
    e7.become_subordinate(e4)
    e8.become_subordinate(e1)
    e9.become_subordinate(e1)
    e10.become_subordinate(e1)
    assert e2.get_highest_rated_subordinate() == e3
    assert e4.get_highest_rated_subordinate() == e7
    assert e1.get_highest_rated_subordinate() == e10