-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequirements.txt
More file actions
25 lines (20 loc) · 2.02 KB
/
requirements.txt
File metadata and controls
25 lines (20 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
EmployeManagement/
│── main.py # Main entry point (runs the program)This is the main script where the program starts. It creates a company object, adds employees, calls service methods, and prints the sorted employee list. It also handles exceptions when searching for employees
│── company/ # Core logic of the application
│ ├── __init__.py # Marks this folder as a package
│ ├── company.py # Defines the Company class (Container) (This file defines the Company class, which acts as a container for employees. It has methods to store and retrieve employees.)
│ ├── employee.py # Defines Employee and its subclasses (This file defines the different employee types. Employee is the base class, and Developer, Tester, and Manager extend it with extra attributes.)
│ ├── exceptions.py # Custom exception handling (EmployeeNotFoundException) ("If an employee is not found during a search, this exception is raised.)
│ ├── service.py # Abstract class (defines what services are needed) (This is an abstract class that enforces a structured design by defining methods that must be implemented in service_impl.py.)
│ ├── service_impl.py # Implements service methods (This file contains the core business logic. It adds employees, sorts them, searches employees, and handles filtering operations.)
Run the Unit Test -> python -m unittest discover tests (Pass)
Proper Folder Structure (company/, exceptions.py, service.py, main.py)
Employee Class & Subclasses (Developer, Tester, Manager)
Company Class (Aggregation of Employees)
Abstract Service Class (ICompanyServiceProvider)
Service Implementation (CompanyServiceProviderImpl)
Sorting & Filtering Functions (Salary, Selenium, UFT, Managers, etc.)
Custom Exception (EmployeeNotFoundException)
Logging at INFO Level
No Extra Business Logic in Entity Classes
Only main.py Handles Input/Output