This was accomplished by using classes and an interface to model a company payment processing system that generated payments for invoices from customers and pay cheques for employees.
The UML diagram shows the interface Payable and the classes involved
This is the Output generated from the test Class. It shows Invoice #, Part # , Description of the part, Unit price, And total Invoice.
As well as, employees payroll for the different types of employees with differing calculations for each based on type.
Here is the output from the TestSetters Class which shows the employees payroll before using the setters to make changes to their payments,
then after the changes were made, as well as testing the custom toString method which overrides the default toString.