作業履歴 2017-04-11¶
概要¶
2017-04-11の作業内容をまとめています。
コミット: 83e97c0¶
メッセージ¶
Payrollパッケージ3
変更されたファイル¶
- M META-INF/ServiceCharge.txt
- M src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
- M src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
- M src/test/java/Main.java
- M src/test/java/TestPayroll.java
変更内容¶
commit 83e97c0f87b39d1640d6f78b48f4a6d859a16a8d
Author: k2works <kakimomokuri@gmail.com>
Date: Tue Apr 11 15:23:51 2017 +0900
Payrollパッケージ3
diff --git a/META-INF/ServiceCharge.txt b/META-INF/ServiceCharge.txt
index 8278b65..88e1c7a 100644
--- a/META-INF/ServiceCharge.txt
+++ b/META-INF/ServiceCharge.txt
@@ -1 +1 @@
-Affiliations.ServiceCharge 86 2001/10/31 12.95
\ No newline at end of file
+ServiceCharge 86 2001/10/31 12.95
\ No newline at end of file
diff --git a/src/main/java/GeneralTransactions/AddEmployeeTransaction.java b/src/main/java/AbstractTransacions/AddEmployeeTransaction.java
similarity index 86%
rename from src/main/java/GeneralTransactions/AddEmployeeTransaction.java
rename to src/main/java/AbstractTransacions/AddEmployeeTransaction.java
index dbaaf83..7d2272c 100644
--- a/src/main/java/GeneralTransactions/AddEmployeeTransaction.java
+++ b/src/main/java/AbstractTransacions/AddEmployeeTransaction.java
@@ -1,6 +1,6 @@
-package GeneralTransactions;
+package AbstractTransacions;
-import Methods.HoldMethod;
+import PayrollImplementation.HoldMethod;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
import PayrollDomain.PaymentClassification;
@@ -36,7 +36,7 @@ public abstract class AddEmployeeTransaction implements Transaction {
GlobalDatabase.payrollDB.AddEmployee(itsEmpId, e);
}
- abstract PaymentSchedule GetSchedule();
+ public abstract PaymentSchedule GetSchedule();
- abstract PaymentClassification GetClassification();
+ public abstract PaymentClassification GetClassification();
}
diff --git a/src/main/java/AffiliationTransactions/ChangeAffiliationTransaction.java b/src/main/java/AbstractTransacions/ChangeAffiliationTransaction.java
similarity index 69%
rename from src/main/java/AffiliationTransactions/ChangeAffiliationTransaction.java
rename to src/main/java/AbstractTransacions/ChangeAffiliationTransaction.java
index 49c71f7..b7ad26f 100644
--- a/src/main/java/AffiliationTransactions/ChangeAffiliationTransaction.java
+++ b/src/main/java/AbstractTransacions/ChangeAffiliationTransaction.java
@@ -1,6 +1,5 @@
-package AffiliationTransactions;
+package AbstractTransacions;
-import GeneralTransactions.ChangeEmployeeTransaction;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
@@ -17,7 +16,7 @@ public abstract class ChangeAffiliationTransaction extends ChangeEmployeeTransac
e.SetAffiliation(GetAffiliation());
}
- abstract void RecordMembership(Employee e);
+ public abstract void RecordMembership(Employee e);
- abstract Affiliation GetAffiliation();
+ public abstract Affiliation GetAffiliation();
}
diff --git a/src/main/java/ClassificationTransactions/ChangeClassificationTransaction.java b/src/main/java/AbstractTransacions/ChangeClassificationTransaction.java
similarity index 71%
rename from src/main/java/ClassificationTransactions/ChangeClassificationTransaction.java
rename to src/main/java/AbstractTransacions/ChangeClassificationTransaction.java
index a79b3ee..5d5fa68 100644
--- a/src/main/java/ClassificationTransactions/ChangeClassificationTransaction.java
+++ b/src/main/java/AbstractTransacions/ChangeClassificationTransaction.java
@@ -1,6 +1,5 @@
-package ClassificationTransactions;
+package AbstractTransacions;
-import GeneralTransactions.ChangeEmployeeTransaction;
import PayrollDomain.Employee;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
@@ -19,7 +18,7 @@ public abstract class ChangeClassificationTransaction extends ChangeEmployeeTran
e.SetClassification(GetClassification());
}
- abstract PaymentSchedule GetSchedule();
+ public abstract PaymentSchedule GetSchedule();
- abstract PaymentClassification GetClassification();
+ public abstract PaymentClassification GetClassification();
}
diff --git a/src/main/java/GeneralTransactions/ChangeEmployeeTransaction.java b/src/main/java/AbstractTransacions/ChangeEmployeeTransaction.java
similarity index 95%
rename from src/main/java/GeneralTransactions/ChangeEmployeeTransaction.java
rename to src/main/java/AbstractTransacions/ChangeEmployeeTransaction.java
index d7b5884..f18c2e3 100644
--- a/src/main/java/GeneralTransactions/ChangeEmployeeTransaction.java
+++ b/src/main/java/AbstractTransacions/ChangeEmployeeTransaction.java
@@ -1,4 +1,4 @@
-package GeneralTransactions;
+package AbstractTransacions;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
diff --git a/src/main/java/MethodTransactions/ChangeMethodTransaction.java b/src/main/java/AbstractTransacions/ChangeMethodTransaction.java
similarity index 74%
rename from src/main/java/MethodTransactions/ChangeMethodTransaction.java
rename to src/main/java/AbstractTransacions/ChangeMethodTransaction.java
index fbd62bb..b891006 100644
--- a/src/main/java/MethodTransactions/ChangeMethodTransaction.java
+++ b/src/main/java/AbstractTransacions/ChangeMethodTransaction.java
@@ -1,6 +1,5 @@
-package MethodTransactions;
+package AbstractTransacions;
-import GeneralTransactions.ChangeEmployeeTransaction;
import PayrollDomain.Employee;
import PayrollDomain.PaymentMethod;
@@ -16,5 +15,5 @@ public abstract class ChangeMethodTransaction extends ChangeEmployeeTransaction
e.SetMethod(GetMethod());
}
- abstract PaymentMethod GetMethod();
+ public abstract PaymentMethod GetMethod();
}
diff --git a/src/main/java/Schedules/BiweeklySchedule.java b/src/main/java/PayrollImplementation/BiweeklySchedule.java
similarity index 97%
rename from src/main/java/Schedules/BiweeklySchedule.java
rename to src/main/java/PayrollImplementation/BiweeklySchedule.java
index 1376b0b..e27a455 100644
--- a/src/main/java/Schedules/BiweeklySchedule.java
+++ b/src/main/java/PayrollImplementation/BiweeklySchedule.java
@@ -1,4 +1,4 @@
-package Schedules;
+package PayrollImplementation;
import java.util.Calendar;
import java.util.GregorianCalendar;
diff --git a/src/main/java/Classifications/CommissionedClassification.java b/src/main/java/PayrollImplementation/CommissionedClassification.java
similarity index 97%
rename from src/main/java/Classifications/CommissionedClassification.java
rename to src/main/java/PayrollImplementation/CommissionedClassification.java
index 33a3863..2eb75dd 100644
--- a/src/main/java/Classifications/CommissionedClassification.java
+++ b/src/main/java/PayrollImplementation/CommissionedClassification.java
@@ -1,4 +1,4 @@
-package Classifications;
+package PayrollImplementation;
import java.util.Calendar;
import java.util.HashMap;
diff --git a/src/main/java/Methods/DirectMethod.java b/src/main/java/PayrollImplementation/DirectMethod.java
similarity index 94%
rename from src/main/java/Methods/DirectMethod.java
rename to src/main/java/PayrollImplementation/DirectMethod.java
index ce89efe..976fb85 100644
--- a/src/main/java/Methods/DirectMethod.java
+++ b/src/main/java/PayrollImplementation/DirectMethod.java
@@ -1,4 +1,4 @@
-package Methods;
+package PayrollImplementation;
import PayrollDomain.Paycheck;
import PayrollDomain.PaymentMethod;
diff --git a/src/main/java/Methods/HoldMethod.java b/src/main/java/PayrollImplementation/HoldMethod.java
similarity index 87%
rename from src/main/java/Methods/HoldMethod.java
rename to src/main/java/PayrollImplementation/HoldMethod.java
index 062caf4..b22ccaf 100644
--- a/src/main/java/Methods/HoldMethod.java
+++ b/src/main/java/PayrollImplementation/HoldMethod.java
@@ -1,4 +1,4 @@
-package Methods;
+package PayrollImplementation;
import PayrollDomain.Paycheck;
import PayrollDomain.PaymentMethod;
diff --git a/src/main/java/Classifications/HourlyClassification.java b/src/main/java/PayrollImplementation/HourlyClassification.java
similarity index 97%
rename from src/main/java/Classifications/HourlyClassification.java
rename to src/main/java/PayrollImplementation/HourlyClassification.java
index 8316231..3949401 100644
--- a/src/main/java/Classifications/HourlyClassification.java
+++ b/src/main/java/PayrollImplementation/HourlyClassification.java
@@ -1,4 +1,4 @@
-package Classifications;
+package PayrollImplementation;
import java.util.Calendar;
import java.util.HashMap;
diff --git a/src/main/java/Methods/MailMethod.java b/src/main/java/PayrollImplementation/MailMethod.java
similarity index 92%
rename from src/main/java/Methods/MailMethod.java
rename to src/main/java/PayrollImplementation/MailMethod.java
index bd38045..f3da4e8 100644
--- a/src/main/java/Methods/MailMethod.java
+++ b/src/main/java/PayrollImplementation/MailMethod.java
@@ -1,4 +1,4 @@
-package Methods;
+package PayrollImplementation;
import PayrollDomain.Paycheck;
import PayrollDomain.PaymentMethod;
diff --git a/src/main/java/Schedules/MonthlySchedule.java b/src/main/java/PayrollImplementation/MonthlySchedule.java
similarity index 96%
rename from src/main/java/Schedules/MonthlySchedule.java
rename to src/main/java/PayrollImplementation/MonthlySchedule.java
index 2a82c93..eee6a77 100644
--- a/src/main/java/Schedules/MonthlySchedule.java
+++ b/src/main/java/PayrollImplementation/MonthlySchedule.java
@@ -1,4 +1,4 @@
-package Schedules;
+package PayrollImplementation;
import PayrollDomain.PaymentSchedule;
diff --git a/src/main/java/Affiliations/PaycheckImplementation.java b/src/main/java/PayrollImplementation/PaycheckImplementation.java
similarity index 97%
rename from src/main/java/Affiliations/PaycheckImplementation.java
rename to src/main/java/PayrollImplementation/PaycheckImplementation.java
index d207fb1..07ca927 100644
--- a/src/main/java/Affiliations/PaycheckImplementation.java
+++ b/src/main/java/PayrollImplementation/PaycheckImplementation.java
@@ -1,4 +1,4 @@
-package Affiliations;
+package PayrollImplementation;
import java.util.Calendar;
diff --git a/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java b/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
index 200f00a..166caf9 100644
--- a/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
+++ b/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
@@ -2,15 +2,6 @@ package PayrollImplementation;
import java.util.Calendar;
-import Affiliations.PaycheckImplementation;
-import Affiliations.UnionAffiliation;
-import Classifications.CommissionedClassification;
-import Classifications.HourlyClassification;
-import Classifications.SalariedClassification;
-import Classifications.SalesReceipt;
-import Methods.DirectMethod;
-import Methods.HoldMethod;
-import Methods.MailMethod;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
import PayrollDomain.NoAffiliation;
@@ -19,9 +10,6 @@ import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentMethod;
import PayrollDomain.PaymentSchedule;
import PayrollFactory.PayrollFactory;
-import Schedules.BiweeklySchedule;
-import Schedules.MonthlySchedule;
-import Schedules.WeeklySchedule;
/**
* Created by k2works on 2017/04/10.
diff --git a/src/main/java/Classifications/SalariedClassification.java b/src/main/java/PayrollImplementation/SalariedClassification.java
similarity index 93%
rename from src/main/java/Classifications/SalariedClassification.java
rename to src/main/java/PayrollImplementation/SalariedClassification.java
index 032437d..0494cb0 100644
--- a/src/main/java/Classifications/SalariedClassification.java
+++ b/src/main/java/PayrollImplementation/SalariedClassification.java
@@ -1,4 +1,4 @@
-package Classifications;
+package PayrollImplementation;
import PayrollDomain.Paycheck;
import PayrollDomain.PaymentClassification;
diff --git a/src/main/java/Classifications/SalesReceipt.java b/src/main/java/PayrollImplementation/SalesReceipt.java
similarity index 93%
rename from src/main/java/Classifications/SalesReceipt.java
rename to src/main/java/PayrollImplementation/SalesReceipt.java
index 94a6395..98ce86b 100644
--- a/src/main/java/Classifications/SalesReceipt.java
+++ b/src/main/java/PayrollImplementation/SalesReceipt.java
@@ -1,4 +1,4 @@
-package Classifications;
+package PayrollImplementation;
import java.util.Calendar;
diff --git a/src/main/java/Affiliations/ServiceCharge.java b/src/main/java/PayrollImplementation/ServiceCharge.java
similarity index 92%
rename from src/main/java/Affiliations/ServiceCharge.java
rename to src/main/java/PayrollImplementation/ServiceCharge.java
index dde8671..22dc59c 100644
--- a/src/main/java/Affiliations/ServiceCharge.java
+++ b/src/main/java/PayrollImplementation/ServiceCharge.java
@@ -1,4 +1,4 @@
-package Affiliations;
+package PayrollImplementation;
import java.util.Calendar;
diff --git a/src/main/java/Classifications/TimeCard.java b/src/main/java/PayrollImplementation/TimeCard.java
similarity index 92%
rename from src/main/java/Classifications/TimeCard.java
rename to src/main/java/PayrollImplementation/TimeCard.java
index 17a82d9..92ccb8c 100644
--- a/src/main/java/Classifications/TimeCard.java
+++ b/src/main/java/PayrollImplementation/TimeCard.java
@@ -1,4 +1,4 @@
-package Classifications;
+package PayrollImplementation;
import java.util.Calendar;
diff --git a/src/main/java/Affiliations/UnionAffiliation.java b/src/main/java/PayrollImplementation/UnionAffiliation.java
similarity index 96%
rename from src/main/java/Affiliations/UnionAffiliation.java
rename to src/main/java/PayrollImplementation/UnionAffiliation.java
index 71165b6..6100dfb 100644
--- a/src/main/java/Affiliations/UnionAffiliation.java
+++ b/src/main/java/PayrollImplementation/UnionAffiliation.java
@@ -1,4 +1,4 @@
-package Affiliations;
+package PayrollImplementation;
import java.util.Calendar;
import java.util.HashMap;
@@ -6,6 +6,7 @@ import java.util.Map;
import PayrollDomain.Affiliation;
import PayrollDomain.Paycheck;
+import PayrollImplementation.ServiceCharge;
import PayrollUtil.Date;
/**
diff --git a/src/main/java/Schedules/WeeklySchedule.java b/src/main/java/PayrollImplementation/WeeklySchedule.java
similarity index 94%
rename from src/main/java/Schedules/WeeklySchedule.java
rename to src/main/java/PayrollImplementation/WeeklySchedule.java
index d2d1f93..c36e922 100644
--- a/src/main/java/Schedules/WeeklySchedule.java
+++ b/src/main/java/PayrollImplementation/WeeklySchedule.java
@@ -1,4 +1,4 @@
-package Schedules;
+package PayrollImplementation;
import PayrollDomain.PaymentSchedule;
diff --git a/src/main/java/GeneralTransactions/AddCommissionedEmployee.java b/src/main/java/TransactionImplementation/AddCommissionedEmployee.java
similarity index 64%
rename from src/main/java/GeneralTransactions/AddCommissionedEmployee.java
rename to src/main/java/TransactionImplementation/AddCommissionedEmployee.java
index c905f1b..97c091d 100644
--- a/src/main/java/GeneralTransactions/AddCommissionedEmployee.java
+++ b/src/main/java/TransactionImplementation/AddCommissionedEmployee.java
@@ -1,10 +1,9 @@
-package GeneralTransactions;
+package TransactionImplementation;
-import Classifications.CommissionedClassification;
+import AbstractTransacions.AddEmployeeTransaction;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import PayrollFactory.PayrollFactory;
-import Schedules.BiweeklySchedule;
/**
* Created by k2works on 2017/04/06.
@@ -19,11 +18,11 @@ public class AddCommissionedEmployee extends AddEmployeeTransaction {
itsCommissionRate = commissionRate;
}
- PaymentClassification GetClassification() {
- return new CommissionedClassification(itsSalary, itsCommissionRate);
+ public PaymentClassification GetClassification() {
+ return itsPayrollFactory.makeCommissionedClassification(itsSalary, itsCommissionRate);
}
- PaymentSchedule GetSchedule() {
- return new BiweeklySchedule();
+ public PaymentSchedule GetSchedule() {
+ return itsPayrollFactory.makeBiweeklySchedule();
}
}
diff --git a/src/main/java/GeneralTransactions/AddHourlyEmployee.java b/src/main/java/TransactionImplementation/AddHourlyEmployee.java
similarity index 54%
rename from src/main/java/GeneralTransactions/AddHourlyEmployee.java
rename to src/main/java/TransactionImplementation/AddHourlyEmployee.java
index 2c85ab4..efdfc68 100644
--- a/src/main/java/GeneralTransactions/AddHourlyEmployee.java
+++ b/src/main/java/TransactionImplementation/AddHourlyEmployee.java
@@ -1,10 +1,11 @@
-package GeneralTransactions;
+package TransactionImplementation;
-import Classifications.HourlyClassification;
+import AbstractTransacions.AddEmployeeTransaction;
+import PayrollImplementation.HourlyClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import PayrollFactory.PayrollFactory;
-import Schedules.WeeklySchedule;
+import PayrollImplementation.WeeklySchedule;
/**
* Created by k2works on 2017/04/06.
@@ -17,11 +18,11 @@ public class AddHourlyEmployee extends AddEmployeeTransaction {
itsHourlyRate = hourlyRate;
}
- PaymentClassification GetClassification() {
- return new HourlyClassification(itsHourlyRate);
+ public PaymentClassification GetClassification() {
+ return itsPayrollFactory.makeHourlyClassification(itsHourlyRate);
}
- PaymentSchedule GetSchedule() {
- return new WeeklySchedule();
+ public PaymentSchedule GetSchedule() {
+ return itsPayrollFactory.makeWeeklySchedule();
}
}
diff --git a/src/main/java/GeneralTransactions/AddSalariedEmployee.java b/src/main/java/TransactionImplementation/AddSalariedEmployee.java
similarity index 65%
rename from src/main/java/GeneralTransactions/AddSalariedEmployee.java
rename to src/main/java/TransactionImplementation/AddSalariedEmployee.java
index f7e182a..89e0c17 100644
--- a/src/main/java/GeneralTransactions/AddSalariedEmployee.java
+++ b/src/main/java/TransactionImplementation/AddSalariedEmployee.java
@@ -1,10 +1,11 @@
-package GeneralTransactions;
+package TransactionImplementation;
-import Classifications.SalariedClassification;
+import AbstractTransacions.AddEmployeeTransaction;
+import PayrollImplementation.SalariedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import PayrollFactory.PayrollFactory;
-import Schedules.MonthlySchedule;
+import PayrollImplementation.MonthlySchedule;
/**
* Created by k2works on 2017/04/06.
@@ -18,10 +19,10 @@ public class AddSalariedEmployee extends AddEmployeeTransaction {
}
public PaymentClassification GetClassification() {
- return new SalariedClassification(itsSalary);
+ return itsPayrollFactory.makeSalariedClassification(itsSalary);
}
public PaymentSchedule GetSchedule() {
- return new MonthlySchedule();
+ return itsPayrollFactory.makeMonthlySchedule();
}
}
diff --git a/src/main/java/GeneralTransactions/ChangeAddressTransaction.java b/src/main/java/TransactionImplementation/ChangeAddressTransaction.java
similarity index 81%
rename from src/main/java/GeneralTransactions/ChangeAddressTransaction.java
rename to src/main/java/TransactionImplementation/ChangeAddressTransaction.java
index 391d035..2b4831d 100644
--- a/src/main/java/GeneralTransactions/ChangeAddressTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeAddressTransaction.java
@@ -1,5 +1,6 @@
-package GeneralTransactions;
+package TransactionImplementation;
+import AbstractTransacions.ChangeEmployeeTransaction;
import PayrollDomain.Employee;
/**
diff --git a/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java b/src/main/java/TransactionImplementation/ChangeCommissionedTransaction.java
similarity index 65%
rename from src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
rename to src/main/java/TransactionImplementation/ChangeCommissionedTransaction.java
index 3171d8f..5cbd115 100644
--- a/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeCommissionedTransaction.java
@@ -1,10 +1,9 @@
-package ClassificationTransactions;
+package TransactionImplementation;
-import Classifications.CommissionedClassification;
+import AbstractTransacions.ChangeClassificationTransaction;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import PayrollFactory.PayrollFactory;
-import Schedules.BiweeklySchedule;
/**
* Created by k2works on 2017/04/07.
@@ -21,11 +20,11 @@ public class ChangeCommissionedTransaction extends ChangeClassificationTransacti
itsPayrollFactory = payrollFactory;
}
- PaymentSchedule GetSchedule() {
- return new BiweeklySchedule();
+ public PaymentSchedule GetSchedule() {
+ return itsPayrollFactory.makeBiweeklySchedule();
}
- PaymentClassification GetClassification() {
- return new CommissionedClassification(itsSalary, itsHourlyRate);
+ public PaymentClassification GetClassification() {
+ return itsPayrollFactory.makeCommissionedClassification(itsSalary, itsHourlyRate);
}
}
diff --git a/src/main/java/MethodTransactions/ChangeDirectTransaction.java b/src/main/java/TransactionImplementation/ChangeDirectTransaction.java
similarity index 69%
rename from src/main/java/MethodTransactions/ChangeDirectTransaction.java
rename to src/main/java/TransactionImplementation/ChangeDirectTransaction.java
index 9325dee..7522820 100644
--- a/src/main/java/MethodTransactions/ChangeDirectTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeDirectTransaction.java
@@ -1,6 +1,7 @@
-package MethodTransactions;
+package TransactionImplementation;
-import Methods.DirectMethod;
+import AbstractTransacions.ChangeMethodTransaction;
+import PayrollImplementation.DirectMethod;
import PayrollDomain.PaymentMethod;
import PayrollFactory.PayrollFactory;
@@ -19,7 +20,7 @@ public class ChangeDirectTransaction extends ChangeMethodTransaction {
itsPayrollFactory = payrollFactory;
}
- PaymentMethod GetMethod() {
- return new DirectMethod(itsBank,itsAccount);
+ public PaymentMethod GetMethod() {
+ return itsPayrollFactory.makeDirectMethod(itsBank, itsAccount);
}
}
diff --git a/src/main/java/MethodTransactions/ChangeHoldTransaction.java b/src/main/java/TransactionImplementation/ChangeHoldTransaction.java
similarity index 57%
rename from src/main/java/MethodTransactions/ChangeHoldTransaction.java
rename to src/main/java/TransactionImplementation/ChangeHoldTransaction.java
index 68b4e0b..623ad1c 100644
--- a/src/main/java/MethodTransactions/ChangeHoldTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeHoldTransaction.java
@@ -1,6 +1,7 @@
-package MethodTransactions;
+package TransactionImplementation;
-import Methods.HoldMethod;
+import AbstractTransacions.ChangeMethodTransaction;
+import PayrollImplementation.HoldMethod;
import PayrollDomain.PaymentMethod;
import PayrollFactory.PayrollFactory;
@@ -12,9 +13,10 @@ public class ChangeHoldTransaction extends ChangeMethodTransaction {
public ChangeHoldTransaction(int empId, PayrollFactory payrollFactory) {
super(empId);
+ itsPayrollFactory = payrollFactory;
}
- PaymentMethod GetMethod() {
- return new HoldMethod();
+ public PaymentMethod GetMethod() {
+ return itsPayrollFactory.makeHoldMethod();
}
}
diff --git a/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java b/src/main/java/TransactionImplementation/ChangeHourlyTransaction.java
similarity index 55%
rename from src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
rename to src/main/java/TransactionImplementation/ChangeHourlyTransaction.java
index 8b385f1..5352074 100644
--- a/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeHourlyTransaction.java
@@ -1,9 +1,10 @@
-package ClassificationTransactions;
+package TransactionImplementation;
-import Classifications.HourlyClassification;
+import AbstractTransacions.ChangeClassificationTransaction;
+import PayrollImplementation.HourlyClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
-import Schedules.WeeklySchedule;
+import PayrollImplementation.WeeklySchedule;
import PayrollFactory.PayrollFactory;
/**
@@ -19,11 +20,12 @@ public class ChangeHourlyTransaction extends ChangeClassificationTransaction {
itsPayrollFactory = payrollFactory;
}
- PaymentSchedule GetSchedule() {
- return new WeeklySchedule();
+
+ public PaymentSchedule GetSchedule() {
+ return itsPayrollFactory.makeWeeklySchedule();
}
- PaymentClassification GetClassification() {
- return new HourlyClassification(itsRate);
+ public PaymentClassification GetClassification() {
+ return itsPayrollFactory.makeHourlyClassification(itsRate);
}
}
diff --git a/src/main/java/MethodTransactions/ChangeMailTransaction.java b/src/main/java/TransactionImplementation/ChangeMailTransaction.java
similarity index 67%
rename from src/main/java/MethodTransactions/ChangeMailTransaction.java
rename to src/main/java/TransactionImplementation/ChangeMailTransaction.java
index 0dd5949..3604672 100644
--- a/src/main/java/MethodTransactions/ChangeMailTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeMailTransaction.java
@@ -1,6 +1,7 @@
-package MethodTransactions;
+package TransactionImplementation;
-import Methods.MailMethod;
+import AbstractTransacions.ChangeMethodTransaction;
+import PayrollImplementation.MailMethod;
import PayrollDomain.PaymentMethod;
import PayrollFactory.PayrollFactory;
@@ -17,7 +18,7 @@ public class ChangeMailTransaction extends ChangeMethodTransaction {
itsPayrollFactory = payrollFactory;
}
- PaymentMethod GetMethod() {
- return new MailMethod(itsAddress);
+ public PaymentMethod GetMethod() {
+ return itsPayrollFactory.makeMailMethod(itsAddress);
}
}
diff --git a/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java b/src/main/java/TransactionImplementation/ChangeMemberTransaction.java
similarity index 78%
rename from src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
rename to src/main/java/TransactionImplementation/ChangeMemberTransaction.java
index 26068be..0086c78 100644
--- a/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeMemberTransaction.java
@@ -1,6 +1,7 @@
-package AffiliationTransactions;
+package TransactionImplementation;
-import Affiliations.UnionAffiliation;
+import AbstractTransacions.ChangeAffiliationTransaction;
+import PayrollImplementation.UnionAffiliation;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
@@ -22,7 +23,7 @@ public class ChangeMemberTransaction extends ChangeAffiliationTransaction {
}
public Affiliation GetAffiliation() {
- return new UnionAffiliation(itsMemberId, itsDues);
+ return itsPayrollFactory.makeUnionAffiliation(itsMemberId, itsDues);
}
public void RecordMembership(Employee e) {
diff --git a/src/main/java/GeneralTransactions/ChangeNameTransaction.java b/src/main/java/TransactionImplementation/ChangeNameTransaction.java
similarity index 80%
rename from src/main/java/GeneralTransactions/ChangeNameTransaction.java
rename to src/main/java/TransactionImplementation/ChangeNameTransaction.java
index fc40bb0..245e9ab 100644
--- a/src/main/java/GeneralTransactions/ChangeNameTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeNameTransaction.java
@@ -1,5 +1,6 @@
-package GeneralTransactions;
+package TransactionImplementation;
+import AbstractTransacions.ChangeEmployeeTransaction;
import PayrollDomain.Employee;
/**
diff --git a/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java b/src/main/java/TransactionImplementation/ChangeSalariedTransaction.java
similarity index 56%
rename from src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
rename to src/main/java/TransactionImplementation/ChangeSalariedTransaction.java
index c9564ed..5a2b8bf 100644
--- a/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeSalariedTransaction.java
@@ -1,9 +1,10 @@
-package ClassificationTransactions;
+package TransactionImplementation;
-import Classifications.SalariedClassification;
+import AbstractTransacions.ChangeClassificationTransaction;
+import PayrollImplementation.SalariedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
-import Schedules.MonthlySchedule;
+import PayrollImplementation.MonthlySchedule;
import PayrollFactory.PayrollFactory;
/**
@@ -19,11 +20,11 @@ public class ChangeSalariedTransaction extends ChangeClassificationTransaction {
itsPayrollFactory = payrollFactory;
}
- PaymentSchedule GetSchedule() {
- return new MonthlySchedule();
+ public PaymentSchedule GetSchedule() {
+ return itsPayrollFactory.makeMonthlySchedule();
}
- PaymentClassification GetClassification() {
- return new SalariedClassification(itsSalary);
+ public PaymentClassification GetClassification() {
+ return itsPayrollFactory.makeSalariedClassification(itsSalary);
}
}
diff --git a/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java b/src/main/java/TransactionImplementation/ChangeUnaffiliatedTransaction.java
similarity index 82%
rename from src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
rename to src/main/java/TransactionImplementation/ChangeUnaffiliatedTransaction.java
index 1714cde..b5d1bb6 100644
--- a/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
+++ b/src/main/java/TransactionImplementation/ChangeUnaffiliatedTransaction.java
@@ -1,6 +1,7 @@
-package AffiliationTransactions;
+package TransactionImplementation;
-import Affiliations.UnionAffiliation;
+import AbstractTransacions.ChangeAffiliationTransaction;
+import PayrollImplementation.UnionAffiliation;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
@@ -19,7 +20,7 @@ public class ChangeUnaffiliatedTransaction extends ChangeAffiliationTransaction
}
public Affiliation GetAffiliation() {
- return new NoAffiliation();
+ return itsPayrollFactory.makeNoAffiliation();
}
public void RecordMembership(Employee e) {
diff --git a/src/main/java/GeneralTransactions/DeleteEmployeeTransaction.java b/src/main/java/TransactionImplementation/DeleteEmployeeTransaction.java
similarity index 91%
rename from src/main/java/GeneralTransactions/DeleteEmployeeTransaction.java
rename to src/main/java/TransactionImplementation/DeleteEmployeeTransaction.java
index 43eb184..6bd4b33 100644
--- a/src/main/java/GeneralTransactions/DeleteEmployeeTransaction.java
+++ b/src/main/java/TransactionImplementation/DeleteEmployeeTransaction.java
@@ -1,4 +1,4 @@
-package GeneralTransactions;
+package TransactionImplementation;
import PayrollDatabase.GlobalDatabase;
import TransactionApplication.Transaction;
diff --git a/src/main/java/GeneralTransactions/PaydayTransaction.java b/src/main/java/TransactionImplementation/PaydayTransaction.java
similarity index 86%
rename from src/main/java/GeneralTransactions/PaydayTransaction.java
rename to src/main/java/TransactionImplementation/PaydayTransaction.java
index 227e5d9..1cf32dd 100644
--- a/src/main/java/GeneralTransactions/PaydayTransaction.java
+++ b/src/main/java/TransactionImplementation/PaydayTransaction.java
@@ -1,11 +1,10 @@
-package GeneralTransactions;
+package TransactionImplementation;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import Affiliations.PaycheckImplementation;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
import PayrollDomain.Paycheck;
@@ -30,7 +29,7 @@ public class PaydayTransaction implements Transaction {
for(int empId : empIds) {
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
if(e.IsPayDate(itsPayDate)) {
- Paycheck pc = new PaycheckImplementation(e.GetPayPeriodStartDate(itsPayDate),itsPayDate);
+ Paycheck pc = itsPayrollFactory.makePaycheck(e.GetPayPeriodStartDate(itsPayDate),itsPayDate);
itsPaychecks.put(empId, pc);
e.Payday(pc);
}
diff --git a/src/main/java/ClassificationTransactions/SalesReceiptTransaction.java b/src/main/java/TransactionImplementation/SalesReceiptTransaction.java
similarity index 92%
rename from src/main/java/ClassificationTransactions/SalesReceiptTransaction.java
rename to src/main/java/TransactionImplementation/SalesReceiptTransaction.java
index e04aada..256c8da 100644
--- a/src/main/java/ClassificationTransactions/SalesReceiptTransaction.java
+++ b/src/main/java/TransactionImplementation/SalesReceiptTransaction.java
@@ -1,8 +1,8 @@
-package ClassificationTransactions;
+package TransactionImplementation;
import java.util.Calendar;
-import Classifications.CommissionedClassification;
+import PayrollImplementation.CommissionedClassification;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
import PayrollDomain.PaymentClassification;
diff --git a/src/main/java/AffiliationTransactions/ServiceChargeTransaction.java b/src/main/java/TransactionImplementation/ServiceChargeTransaction.java
similarity index 91%
rename from src/main/java/AffiliationTransactions/ServiceChargeTransaction.java
rename to src/main/java/TransactionImplementation/ServiceChargeTransaction.java
index e436a7c..5621d28 100644
--- a/src/main/java/AffiliationTransactions/ServiceChargeTransaction.java
+++ b/src/main/java/TransactionImplementation/ServiceChargeTransaction.java
@@ -1,6 +1,6 @@
-package AffiliationTransactions;
+package TransactionImplementation;
-import Affiliations.UnionAffiliation;
+import PayrollImplementation.UnionAffiliation;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
diff --git a/src/main/java/ClassificationTransactions/TimeCardTransaction.java b/src/main/java/TransactionImplementation/TimeCardTransaction.java
similarity index 92%
rename from src/main/java/ClassificationTransactions/TimeCardTransaction.java
rename to src/main/java/TransactionImplementation/TimeCardTransaction.java
index b591366..8b6c1e3 100644
--- a/src/main/java/ClassificationTransactions/TimeCardTransaction.java
+++ b/src/main/java/TransactionImplementation/TimeCardTransaction.java
@@ -1,8 +1,8 @@
-package ClassificationTransactions;
+package TransactionImplementation;
import java.util.Calendar;
-import Classifications.HourlyClassification;
+import PayrollImplementation.HourlyClassification;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
import PayrollDomain.PaymentClassification;
diff --git a/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java b/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
index 3e32596..ff6aea8 100644
--- a/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
+++ b/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
@@ -2,14 +2,6 @@ package TransactionImplementation;
import java.util.Calendar;
-import AffiliationTransactions.ChangeMemberTransaction;
-import AffiliationTransactions.ChangeUnaffiliatedTransaction;
-import AffiliationTransactions.ServiceChargeTransaction;
-import ClassificationTransactions.*;
-import GeneralTransactions.*;
-import MethodTransactions.ChangeDirectTransaction;
-import MethodTransactions.ChangeHoldTransaction;
-import MethodTransactions.ChangeMailTransaction;
import PayrollFactory.PayrollFactory;
import TransactionApplication.Transaction;
import TransactionFactory.TransactionFactory;
diff --git a/src/test/java/Main.java b/src/test/java/Main.java
index e839b85..e9c1715 100644
--- a/src/test/java/Main.java
+++ b/src/test/java/Main.java
@@ -2,8 +2,8 @@ import java.util.Calendar;
import java.util.GregorianCalendar;
import Application.Application;
-import Classifications.HourlyClassification;
-import Classifications.TimeCard;
+import PayrollImplementation.HourlyClassification;
+import PayrollImplementation.TimeCard;
import PayrollApplication.PayrollApplication;
import PayrollDatabase.GlobalDatabase;
import PayrollDatabaseImplementation.PayrollDatabaseImplementation;
diff --git a/src/test/java/TestPayroll.java b/src/test/java/TestPayroll.java
index f94dedf..716b420 100644
--- a/src/test/java/TestPayroll.java
+++ b/src/test/java/TestPayroll.java
@@ -1,20 +1,12 @@
-import PayrollImplementation.PayrollFactoryImplementation;
-import TransactionImplementation.TransactionFactoryImplementation;
+import PayrollImplementation.*;
+import TransactionImplementation.*;
import junit.framework.TestCase;
import java.util.Calendar;
import java.util.GregorianCalendar;
-import AffiliationTransactions.*;
-import Affiliations.*;
-import ClassificationTransactions.*;
-import Classifications.*;
-import GeneralTransactions.*;
-import MethodTransactions.*;
-import Methods.*;
import PayrollDatabase.*;
import PayrollDomain.*;
-import Schedules.*;
import PayrollFactory.PayrollFactory;
import PayrollDatabaseImplementation.PayrollDatabaseImplementation;
コミット: 9b4e590¶
メッセージ¶
Payrollパッケージ2
変更されたファイル¶
- M src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
- M src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
- M src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
- M src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
- M src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
- M src/main/java/GeneralTransactions/AddCommissionedEmployee.java
- M src/main/java/GeneralTransactions/AddEmployeeTransaction.java
- M src/main/java/GeneralTransactions/AddHourlyEmployee.java
- M src/main/java/GeneralTransactions/AddSalariedEmployee.java
- M src/main/java/GeneralTransactions/PaydayTransaction.java
- M src/main/java/MethodTransactions/ChangeDirectTransaction.java
- M src/main/java/MethodTransactions/ChangeHoldTransaction.java
- M src/main/java/MethodTransactions/ChangeMailTransaction.java
- M src/main/java/PayrollApplication/PayrollApplication.java
- A src/main/java/PayrollFactory/PayrollFactory.java
- A src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
- M src/main/java/TextParserTransactionSource/TextParserTransactionSource.java
- A src/main/java/TransactionFactory/TransactionFactory.java
- A src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
- M src/test/java/TestPayroll.java
変更内容¶
commit 9b4e590ca4ee7476edd008feede95bd202a6f5a3
Author: k2works <kakimomokuri@gmail.com>
Date: Tue Apr 11 14:26:51 2017 +0900
Payrollパッケージ2
diff --git a/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java b/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
index 07e1a5b..26068be 100644
--- a/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
+++ b/src/main/java/AffiliationTransactions/ChangeMemberTransaction.java
@@ -4,6 +4,7 @@ import Affiliations.UnionAffiliation;
import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
@@ -11,11 +12,13 @@ import PayrollDomain.Employee;
public class ChangeMemberTransaction extends ChangeAffiliationTransaction {
private int itsMemberId;
private double itsDues;
+ private PayrollFactory itsPayrollFactory;
- public ChangeMemberTransaction(int empId, int memberId, double dues) {
+ public ChangeMemberTransaction(int empId, int memberId, double dues, PayrollFactory payrollFactory) {
super(empId);
itsMemberId = memberId;
itsDues = dues;
+ itsPayrollFactory = payrollFactory;
}
public Affiliation GetAffiliation() {
diff --git a/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java b/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
index 926e4bd..1714cde 100644
--- a/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
+++ b/src/main/java/AffiliationTransactions/ChangeUnaffiliatedTransaction.java
@@ -5,13 +5,17 @@ import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Affiliation;
import PayrollDomain.Employee;
import PayrollDomain.NoAffiliation;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
*/
public class ChangeUnaffiliatedTransaction extends ChangeAffiliationTransaction {
- public ChangeUnaffiliatedTransaction(int empId) {
+ private PayrollFactory itsPayrollFactory;
+
+ public ChangeUnaffiliatedTransaction(int empId, PayrollFactory payrollFactory) {
super(empId);
+ itsPayrollFactory = payrollFactory;
}
public Affiliation GetAffiliation() {
diff --git a/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java b/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
index f2bc752..3171d8f 100644
--- a/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
+++ b/src/main/java/ClassificationTransactions/ChangeCommissionedTransaction.java
@@ -3,6 +3,7 @@ package ClassificationTransactions;
import Classifications.CommissionedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
import Schedules.BiweeklySchedule;
/**
@@ -11,11 +12,13 @@ import Schedules.BiweeklySchedule;
public class ChangeCommissionedTransaction extends ChangeClassificationTransaction {
private double itsSalary;
private double itsHourlyRate;
+ private PayrollFactory itsPayrollFactory;
- public ChangeCommissionedTransaction(int empId, double salary, double hourlyRate) {
+ public ChangeCommissionedTransaction(int empId, double salary, double hourlyRate, PayrollFactory payrollFactory) {
super(empId);
itsSalary = salary;
itsHourlyRate = hourlyRate;
+ itsPayrollFactory = payrollFactory;
}
PaymentSchedule GetSchedule() {
diff --git a/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java b/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
index 4843576..8b385f1 100644
--- a/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
+++ b/src/main/java/ClassificationTransactions/ChangeHourlyTransaction.java
@@ -4,16 +4,19 @@ import Classifications.HourlyClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import Schedules.WeeklySchedule;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
*/
public class ChangeHourlyTransaction extends ChangeClassificationTransaction {
private double itsRate;
+ private PayrollFactory itsPayrollFactory;
- public ChangeHourlyTransaction(int empId, double rate) {
+ public ChangeHourlyTransaction(int empId, double rate, PayrollFactory payrollFactory) {
super(empId);
itsRate = rate;
+ itsPayrollFactory = payrollFactory;
}
PaymentSchedule GetSchedule() {
diff --git a/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java b/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
index 77d6cb6..c9564ed 100644
--- a/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
+++ b/src/main/java/ClassificationTransactions/ChangeSalariedTransaction.java
@@ -4,16 +4,19 @@ import Classifications.SalariedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
import Schedules.MonthlySchedule;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
*/
public class ChangeSalariedTransaction extends ChangeClassificationTransaction {
private double itsSalary;
+ private PayrollFactory itsPayrollFactory;
- public ChangeSalariedTransaction(int empId, double salary) {
+ public ChangeSalariedTransaction(int empId, double salary, PayrollFactory payrollFactory) {
super(empId);
itsSalary = salary;
+ itsPayrollFactory = payrollFactory;
}
PaymentSchedule GetSchedule() {
diff --git a/src/main/java/GeneralTransactions/AddCommissionedEmployee.java b/src/main/java/GeneralTransactions/AddCommissionedEmployee.java
index 47716e5..c905f1b 100644
--- a/src/main/java/GeneralTransactions/AddCommissionedEmployee.java
+++ b/src/main/java/GeneralTransactions/AddCommissionedEmployee.java
@@ -3,6 +3,7 @@ package GeneralTransactions;
import Classifications.CommissionedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
import Schedules.BiweeklySchedule;
/**
@@ -12,8 +13,8 @@ public class AddCommissionedEmployee extends AddEmployeeTransaction {
private double itsSalary;
private double itsCommissionRate;
- public AddCommissionedEmployee(int empId, String name, String address, double salary, double commissionRate) {
- super(empId, name, address);
+ public AddCommissionedEmployee(int empId, String name, String address, double salary, double commissionRate, PayrollFactory payrollFactory) {
+ super(empId, name, address, payrollFactory);
itsSalary = salary;
itsCommissionRate = commissionRate;
}
diff --git a/src/main/java/GeneralTransactions/AddEmployeeTransaction.java b/src/main/java/GeneralTransactions/AddEmployeeTransaction.java
index f595bdf..dbaaf83 100644
--- a/src/main/java/GeneralTransactions/AddEmployeeTransaction.java
+++ b/src/main/java/GeneralTransactions/AddEmployeeTransaction.java
@@ -6,6 +6,7 @@ import PayrollDomain.Employee;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentMethod;
import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
import TransactionApplication.Transaction;
/**
@@ -15,11 +16,13 @@ public abstract class AddEmployeeTransaction implements Transaction {
private int itsEmpId;
private String itsName;
private String itsAddress;
+ protected PayrollFactory itsPayrollFactory;
- public AddEmployeeTransaction(int empId, String name, String address) {
+ public AddEmployeeTransaction(int empId, String name, String address, PayrollFactory payrollFactory) {
itsEmpId = empId;
itsName = name;
itsAddress = address;
+ itsPayrollFactory = payrollFactory;
}
public void Execute() {
diff --git a/src/main/java/GeneralTransactions/AddHourlyEmployee.java b/src/main/java/GeneralTransactions/AddHourlyEmployee.java
index 134c52e..2c85ab4 100644
--- a/src/main/java/GeneralTransactions/AddHourlyEmployee.java
+++ b/src/main/java/GeneralTransactions/AddHourlyEmployee.java
@@ -3,6 +3,7 @@ package GeneralTransactions;
import Classifications.HourlyClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
import Schedules.WeeklySchedule;
/**
@@ -11,8 +12,8 @@ import Schedules.WeeklySchedule;
public class AddHourlyEmployee extends AddEmployeeTransaction {
private double itsHourlyRate;
- public AddHourlyEmployee(int empId, String name, String address, double hourlyRate) {
- super(empId, name, address);
+ public AddHourlyEmployee(int empId, String name, String address, double hourlyRate, PayrollFactory payrollFactory) {
+ super(empId, name, address, payrollFactory);
itsHourlyRate = hourlyRate;
}
diff --git a/src/main/java/GeneralTransactions/AddSalariedEmployee.java b/src/main/java/GeneralTransactions/AddSalariedEmployee.java
index 079c6e2..f7e182a 100644
--- a/src/main/java/GeneralTransactions/AddSalariedEmployee.java
+++ b/src/main/java/GeneralTransactions/AddSalariedEmployee.java
@@ -3,6 +3,7 @@ package GeneralTransactions;
import Classifications.SalariedClassification;
import PayrollDomain.PaymentClassification;
import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
import Schedules.MonthlySchedule;
/**
@@ -11,8 +12,8 @@ import Schedules.MonthlySchedule;
public class AddSalariedEmployee extends AddEmployeeTransaction {
private double itsSalary;
- public AddSalariedEmployee(int empId, String name, String address, double salary) {
- super(empId, name, address);
+ public AddSalariedEmployee(int empId, String name, String address, double salary, PayrollFactory payrollFactory) {
+ super(empId, name, address, payrollFactory);
itsSalary = salary;
}
diff --git a/src/main/java/GeneralTransactions/PaydayTransaction.java b/src/main/java/GeneralTransactions/PaydayTransaction.java
index 22d506e..227e5d9 100644
--- a/src/main/java/GeneralTransactions/PaydayTransaction.java
+++ b/src/main/java/GeneralTransactions/PaydayTransaction.java
@@ -10,6 +10,7 @@ import PayrollDatabase.GlobalDatabase;
import PayrollDomain.Employee;
import PayrollDomain.Paycheck;
import TransactionApplication.Transaction;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
@@ -17,9 +18,11 @@ import TransactionApplication.Transaction;
public class PaydayTransaction implements Transaction {
private Calendar itsPayDate;
private Map<Integer, Paycheck> itsPaychecks = new HashMap<Integer, Paycheck>();
+ private PayrollFactory itsPayrollFactory;
- public PaydayTransaction(Calendar payDate) {
+ public PaydayTransaction(Calendar payDate, PayrollFactory payrollFactory) {
itsPayDate = payDate;
+ itsPayrollFactory = payrollFactory;
}
public void Execute() {
diff --git a/src/main/java/MethodTransactions/ChangeDirectTransaction.java b/src/main/java/MethodTransactions/ChangeDirectTransaction.java
index c30a8b5..9325dee 100644
--- a/src/main/java/MethodTransactions/ChangeDirectTransaction.java
+++ b/src/main/java/MethodTransactions/ChangeDirectTransaction.java
@@ -2,6 +2,7 @@ package MethodTransactions;
import Methods.DirectMethod;
import PayrollDomain.PaymentMethod;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
@@ -9,11 +10,13 @@ import PayrollDomain.PaymentMethod;
public class ChangeDirectTransaction extends ChangeMethodTransaction {
private String itsBank;
private String itsAccount;
+ private PayrollFactory itsPayrollFactory;
- public ChangeDirectTransaction(int empId, String bank, String account) {
+ public ChangeDirectTransaction(int empId, String bank, String account, PayrollFactory payrollFactory) {
super(empId);
itsBank = bank;
itsAccount = account;
+ itsPayrollFactory = payrollFactory;
}
PaymentMethod GetMethod() {
diff --git a/src/main/java/MethodTransactions/ChangeHoldTransaction.java b/src/main/java/MethodTransactions/ChangeHoldTransaction.java
index c4d615a..68b4e0b 100644
--- a/src/main/java/MethodTransactions/ChangeHoldTransaction.java
+++ b/src/main/java/MethodTransactions/ChangeHoldTransaction.java
@@ -2,12 +2,15 @@ package MethodTransactions;
import Methods.HoldMethod;
import PayrollDomain.PaymentMethod;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
*/
public class ChangeHoldTransaction extends ChangeMethodTransaction {
- public ChangeHoldTransaction(int empId) {
+ private PayrollFactory itsPayrollFactory;
+
+ public ChangeHoldTransaction(int empId, PayrollFactory payrollFactory) {
super(empId);
}
diff --git a/src/main/java/MethodTransactions/ChangeMailTransaction.java b/src/main/java/MethodTransactions/ChangeMailTransaction.java
index 343b48e..0dd5949 100644
--- a/src/main/java/MethodTransactions/ChangeMailTransaction.java
+++ b/src/main/java/MethodTransactions/ChangeMailTransaction.java
@@ -2,16 +2,19 @@ package MethodTransactions;
import Methods.MailMethod;
import PayrollDomain.PaymentMethod;
+import PayrollFactory.PayrollFactory;
/**
* Created by k2works on 2017/04/07.
*/
public class ChangeMailTransaction extends ChangeMethodTransaction {
private String itsAddress;
+ private PayrollFactory itsPayrollFactory;
- public ChangeMailTransaction(int empId, String address) {
+ public ChangeMailTransaction(int empId, String address, PayrollFactory payrollFactory) {
super(empId);
itsAddress = address;
+ itsPayrollFactory = payrollFactory;
}
PaymentMethod GetMethod() {
diff --git a/src/main/java/PayrollApplication/PayrollApplication.java b/src/main/java/PayrollApplication/PayrollApplication.java
index 0a2f1a6..08ceade 100644
--- a/src/main/java/PayrollApplication/PayrollApplication.java
+++ b/src/main/java/PayrollApplication/PayrollApplication.java
@@ -1,8 +1,12 @@
package PayrollApplication;
+import PayrollFactory.PayrollFactory;
+import PayrollImplementation.PayrollFactoryImplementation;
import TextParserTransactionSource.TextParserTransactionSource;
import TransactionApplication.TransactionApplication;
import TransactionApplication.TransactionSource;
+import TransactionFactory.TransactionFactory;
+import TransactionImplementation.TransactionFactoryImplementation;
/**
* Created by k2works on 2017/04/10.
@@ -11,7 +15,9 @@ public class PayrollApplication extends TransactionApplication {
private TransactionSource transactionSource;
public PayrollApplication() {
- transactionSource = new TextParserTransactionSource();
+ PayrollFactory payrollFactory = new PayrollFactoryImplementation();
+ TransactionFactory transactionFactory = new TransactionFactoryImplementation(payrollFactory);
+ transactionSource = new TextParserTransactionSource(transactionFactory);
}
public void SetSource(String source) {
diff --git a/src/main/java/PayrollFactory/PayrollFactory.java b/src/main/java/PayrollFactory/PayrollFactory.java
new file mode 100644
index 0000000..3d98c35
--- /dev/null
+++ b/src/main/java/PayrollFactory/PayrollFactory.java
@@ -0,0 +1,42 @@
+package PayrollFactory;
+
+import java.util.Calendar;
+
+import PayrollDomain.Affiliation;
+import PayrollDomain.Employee;
+import PayrollDomain.Paycheck;
+import PayrollDomain.PaymentClassification;
+import PayrollDomain.PaymentMethod;
+import PayrollDomain.PaymentSchedule;
+
+/**
+ * Created by k2works on 2017/04/10.
+ */
+public interface PayrollFactory {
+ public PaymentSchedule makeBiweeklySchedule();
+
+ public PaymentClassification makeCommissionedClassification(double salary, double commissionRate);
+
+ public PaymentMethod makeDirectMethod(String bank, String account);
+
+ public PaymentMethod makeHoldMethod();
+
+ public PaymentClassification makeHourlyClassification(double hourlyRate);
+
+ public PaymentMethod makeMailMethod(String address);
+
+ public PaymentSchedule makeMonthlySchedule();
+
+ public PaymentClassification makeSalariedClassification(double salary);
+
+ public Affiliation makeUnionAffiliation(int memberId, double dues);
+
+ public PaymentSchedule makeWeeklySchedule();
+
+ public Affiliation makeNoAffiliation();
+
+ public Employee makeEmployee(int empId, String name, String address);
+
+ public Paycheck makePaycheck(Calendar getPayPeriodStartDate, Calendar payDate);
+}
+
diff --git a/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java b/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
new file mode 100644
index 0000000..200f00a
--- /dev/null
+++ b/src/main/java/PayrollImplementation/PayrollFactoryImplementation.java
@@ -0,0 +1,85 @@
+package PayrollImplementation;
+
+import java.util.Calendar;
+
+import Affiliations.PaycheckImplementation;
+import Affiliations.UnionAffiliation;
+import Classifications.CommissionedClassification;
+import Classifications.HourlyClassification;
+import Classifications.SalariedClassification;
+import Classifications.SalesReceipt;
+import Methods.DirectMethod;
+import Methods.HoldMethod;
+import Methods.MailMethod;
+import PayrollDomain.Affiliation;
+import PayrollDomain.Employee;
+import PayrollDomain.NoAffiliation;
+import PayrollDomain.Paycheck;
+import PayrollDomain.PaymentClassification;
+import PayrollDomain.PaymentMethod;
+import PayrollDomain.PaymentSchedule;
+import PayrollFactory.PayrollFactory;
+import Schedules.BiweeklySchedule;
+import Schedules.MonthlySchedule;
+import Schedules.WeeklySchedule;
+
+/**
+ * Created by k2works on 2017/04/10.
+ */
+public class PayrollFactoryImplementation implements PayrollFactory {
+ public PaymentSchedule makeBiweeklySchedule() {
+ return new BiweeklySchedule();
+ }
+
+ public PaymentClassification makeCommissionedClassification(double salary, double commissionRate) {
+ return new CommissionedClassification(salary, commissionRate);
+ }
+
+ public PaymentMethod makeDirectMethod(String bank, String account) {
+ return new DirectMethod(bank, account);
+ }
+
+ public PaymentMethod makeHoldMethod() {
+ return new HoldMethod();
+ }
+
+ public PaymentClassification makeHourlyClassification(double hourlyRate) {
+ return new HourlyClassification(hourlyRate);
+ }
+
+ public PaymentMethod makeMailMethod(String address) {
+ return new MailMethod(address);
+ }
+
+ public PaymentSchedule makeMonthlySchedule() {
+ return new MonthlySchedule();
+ }
+
+ public PaymentClassification makeSalariedClassification(double salary) {
+ return new SalariedClassification(salary);
+ }
+
+ public SalesReceipt makeSalesReceipt(Calendar saleDate, double amount) {
+ return new SalesReceipt(saleDate, amount);
+ }
+
+ public Affiliation makeUnionAffiliation(int memberId, double dues) {
+ return new UnionAffiliation(memberId, dues);
+ }
+
+ public PaymentSchedule makeWeeklySchedule() {
+ return new WeeklySchedule();
+ }
+
+ public Affiliation makeNoAffiliation() {
+ return new NoAffiliation();
+ }
+
+ public Employee makeEmployee(int empId, String name, String address) {
+ return new Employee(empId, name, address);
+ }
+
+ public Paycheck makePaycheck(Calendar payPeriodStartDate, Calendar payDate) {
+ return new PaycheckImplementation(payPeriodStartDate, payDate);
+ }
+}
diff --git a/src/main/java/TextParserTransactionSource/TextParserTransactionSource.java b/src/main/java/TextParserTransactionSource/TextParserTransactionSource.java
index dcf923c..dc470c4 100644
--- a/src/main/java/TextParserTransactionSource/TextParserTransactionSource.java
+++ b/src/main/java/TextParserTransactionSource/TextParserTransactionSource.java
@@ -10,32 +10,20 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
-import AffiliationTransactions.ChangeMemberTransaction;
-import AffiliationTransactions.ChangeUnaffiliatedTransaction;
-import AffiliationTransactions.ServiceChargeTransaction;
-import ClassificationTransactions.ChangeCommissionedTransaction;
-import ClassificationTransactions.ChangeHourlyTransaction;
-import ClassificationTransactions.ChangeSalariedTransaction;
-import ClassificationTransactions.SalesReceiptTransaction;
-import ClassificationTransactions.TimeCardTransaction;
-import GeneralTransactions.AddCommissionedEmployee;
-import GeneralTransactions.AddHourlyEmployee;
-import GeneralTransactions.AddSalariedEmployee;
-import GeneralTransactions.ChangeAddressTransaction;
-import GeneralTransactions.ChangeNameTransaction;
-import GeneralTransactions.DeleteEmployeeTransaction;
-import GeneralTransactions.PaydayTransaction;
-import MethodTransactions.ChangeDirectTransaction;
-import MethodTransactions.ChangeHoldTransaction;
-import MethodTransactions.ChangeMailTransaction;
import TransactionApplication.Transaction;
import TransactionApplication.TransactionSource;
+import TransactionFactory.TransactionFactory;
/**
* Created by k2works on 2017/04/10.
*/
public class TextParserTransactionSource extends TransactionSource {
public String itsSource;
+ public TransactionFactory itsTransactionFactory;
+
+ public TextParserTransactionSource(TransactionFactory transactionFactory) {
+ itsTransactionFactory = transactionFactory;
+ }
public void Execute() {
parse();
@@ -54,29 +42,29 @@ public class TextParserTransactionSource extends TransactionSource {
t = ChgEmp(line);
} else if (transactionName.equals("DelEmp")) {
int empId = Integer.parseInt(line.get(1));
- t = new DeleteEmployeeTransaction(empId);
- } else if (transactionName.equals("Affiliations.ServiceCharge")) {
+ t = itsTransactionFactory.makeDeleteEmployeeTransaction(empId);
+ } else if (transactionName.equals("ServiceCharge")) {
int memberId = Integer.parseInt(line.get(1));
Calendar date = Calendar.getInstance();
date.setTime(new SimpleDateFormat("yyyy/MM/dd").parse(line.get(2)));
double amount = Double.parseDouble(line.get(2));
- t = new ServiceChargeTransaction(memberId, date, amount);
+ t = itsTransactionFactory.makeServiceChargeTransaction(memberId, date, amount);
} else if (transactionName.equals("SalesReceipt")) {
int empId = Integer.parseInt(line.get(1));
Calendar date = Calendar.getInstance();
date.setTime(new SimpleDateFormat("yyyy/MM/dd").parse(line.get(2)));
double amount = Double.parseDouble(line.get(3));
- t = new SalesReceiptTransaction(date, amount, empId);
+ t = itsTransactionFactory.makeSalesReceiptTransaction(date, amount, empId);
} else if (transactionName.equals("TimeCard")) {
int empId = Integer.parseInt(line.get(1));
Calendar date = Calendar.getInstance();
date.setTime(new SimpleDateFormat("yyyy/MM/dd").parse(line.get(2)));
double hours = Double.parseDouble(line.get(3));
- t = new TimeCardTransaction(date, hours, empId);
+ t = itsTransactionFactory.makeTimeCardTransaction(date, hours, empId);
} else if (transactionName.equals("Payday")) {
Calendar payDate = Calendar.getInstance();
payDate.setTime(new SimpleDateFormat("yyyy/MM/dd").parse(line.get(1)));
- t = new PaydayTransaction(payDate);
+ t = itsTransactionFactory.makePaydayTransaction(payDate);
}
if (t != null) {
t.Execute();
@@ -139,14 +127,14 @@ public class TextParserTransactionSource extends TransactionSource {
int empId = Integer.parseInt(line.get(1));
if (line.get(4).equals("H")) {
double hourlyRate = Double.parseDouble(line.get(5));
- t = new AddHourlyEmployee(empId, line.get(2), line.get(3), hourlyRate);
+ t = itsTransactionFactory.makeAddHourlyEmployee(empId, line.get(2), line.get(3), hourlyRate);
} else if (line.get(4).equals("S")) {
double salary = Double.parseDouble(line.get(5));
- t = new AddSalariedEmployee(empId, line.get(2), line.get(3), salary);
+ t = itsTransactionFactory.makeAddSalariedEmployee(empId, line.get(2), line.get(3), salary);
} else if (line.get(4).equals("C")) {
double salary = Double.parseDouble(line.get(5));
double commissionRate = Double.parseDouble(line.get(6));
- t = new AddCommissionedEmployee(empId, line.get(2), line.get(3), salary, commissionRate);
+ t = itsTransactionFactory.makeAddCommissionedEmployee(empId, line.get(2), line.get(3), salary, commissionRate);
}
return t;
}
@@ -157,36 +145,36 @@ public class TextParserTransactionSource extends TransactionSource {
String changeInfo = line.get(2);
if (changeInfo.equals("Name")) {
String name = line.get(3);
- t = new ChangeNameTransaction(empId, name);
+ t = itsTransactionFactory.makeChangeNameTransaction(empId, name);
} else if (changeInfo.equals("Address")) {
String address = line.get(3);
- t = new ChangeAddressTransaction(empId, address);
+ t = itsTransactionFactory.makeChangeAddressTransaction(empId, address);
} else if (changeInfo.equals("Hourly")) {
double hourly = Double.parseDouble(line.get(3));
- t = new ChangeHourlyTransaction(empId, hourly);
+ t = itsTransactionFactory.makeChangeHourlyTransaction(empId, hourly);
} else if (changeInfo.equals("Salaried")) {
double salary = Double.parseDouble(line.get(3));
- t = new ChangeSalariedTransaction(empId, salary);
+ t = itsTransactionFactory.makeChangeSalariedTransaction(empId, salary);
} else if (changeInfo.equals("Commissioned")) {
double salary = Double.parseDouble(line.get(3));
double rate = Double.parseDouble(line.get(4));
- t = new ChangeCommissionedTransaction(empId, salary, rate);
+ t = itsTransactionFactory.makeChangeCommissionedTransaction(empId, salary, rate);
} else if (changeInfo.equals("Hold")) {
- t = new ChangeHoldTransaction(empId);
+ t = itsTransactionFactory.makeChangeHoldTransaction(empId);
} else if (changeInfo.equals("Direct")) {
String bank = line.get(3);
String account = line.get(4);
- t = new ChangeDirectTransaction(empId, bank, account);
+ t = itsTransactionFactory.makeChangeDirectTransaction(empId, bank, account);
} else if (changeInfo.equals("Mail")) {
String address = line.get(3);
- t = new ChangeMailTransaction(0, address);
+ t = itsTransactionFactory.makeChangeMailTransaction(0, address);
} else if (changeInfo.equals("Member")) {
int memberId = Integer.parseInt(line.get(3));
double dues = Double.parseDouble(line.get(5));
- t = new ChangeMemberTransaction(empId, memberId, dues);
+ t = itsTransactionFactory.makeChangeMemberTransaction(empId, memberId, dues);
} else if (changeInfo.equals("NoMember")) {
- t = new ChangeUnaffiliatedTransaction(empId);
+ t = itsTransactionFactory.makeChangeUnaffiliatedTransaction(empId);
}
return t;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/TransactionFactory/TransactionFactory.java b/src/main/java/TransactionFactory/TransactionFactory.java
new file mode 100644
index 0000000..aa2ca31
--- /dev/null
+++ b/src/main/java/TransactionFactory/TransactionFactory.java
@@ -0,0 +1,48 @@
+package TransactionFactory;
+
+import java.util.Calendar;
+
+import TransactionApplication.Transaction;
+
+/**
+ * Created by k2works on 2017/04/10.
+ */
+public interface TransactionFactory {
+ public Transaction makeAddCommissionedEmployee(int empId, String name, String address,
+ double salary, double commissionRate);
+
+ public Transaction makeAddHourlyEmployee(int empId, String name, String address,
+ double hourlyRate);
+
+ public Transaction makeAddSalariedEmployee(int empId, String name, String address, double salary);
+
+ public Transaction makeChangeAddressTransaction(int empId, String address);
+
+ public Transaction makeChangeCommissionedTransaction(int empId, double salary, double hourlyRate);
+
+ public Transaction makeChangeDirectTransaction(int empId, String bank, String account);
+
+ public Transaction makeChangeHoldTransaction(int empId);
+
+ public Transaction makeChangeHourlyTransaction(int empId, double rate);
+
+ public Transaction makeChangeMailTransaction(int empId, String address);
+
+ public Transaction makeChangeMemberTransaction(int empId, int memberId, double dues);
+
+ public Transaction makeChangeNameTransaction(int empId, String name);
+
+ public Transaction makeChangeSalariedTransaction(int empId, double salary);
+
+ public Transaction makeChangeUnaffiliatedTransaction(int empId);
+
+ public Transaction makeDeleteEmployeeTransaction(int empId);
+
+ public Transaction makePaydayTransaction(Calendar payDate);
+
+ public Transaction makeSalesReceiptTransaction(Calendar saleDate, double amount, int empId);
+
+ public Transaction makeServiceChargeTransaction(int memberId, Calendar date, double amount);
+
+ public Transaction makeTimeCardTransaction(Calendar date, double hours, int empId);
+}
diff --git a/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java b/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
new file mode 100644
index 0000000..3e32596
--- /dev/null
+++ b/src/main/java/TransactionImplementation/TransactionFactoryImplementation.java
@@ -0,0 +1,101 @@
+package TransactionImplementation;
+
+import java.util.Calendar;
+
+import AffiliationTransactions.ChangeMemberTransaction;
+import AffiliationTransactions.ChangeUnaffiliatedTransaction;
+import AffiliationTransactions.ServiceChargeTransaction;
+import ClassificationTransactions.*;
+import GeneralTransactions.*;
+import MethodTransactions.ChangeDirectTransaction;
+import MethodTransactions.ChangeHoldTransaction;
+import MethodTransactions.ChangeMailTransaction;
+import PayrollFactory.PayrollFactory;
+import TransactionApplication.Transaction;
+import TransactionFactory.TransactionFactory;
+
+/**
+ * Created by k2works on 2017/04/10.
+ */
+public class TransactionFactoryImplementation implements TransactionFactory {
+ private PayrollFactory itsPayrollFactory;
+
+ public TransactionFactoryImplementation(PayrollFactory payrollFactory) {
+ itsPayrollFactory = payrollFactory;
+ }
+
+ public Transaction makeAddCommissionedEmployee(int empId, String name, String address,
+ double salary, double commissionRate) {
+ return new AddCommissionedEmployee(empId, name, address, salary, commissionRate, itsPayrollFactory);
+ }
+
+ public Transaction makeAddHourlyEmployee(int empId, String name, String address,
+ double hourlyRate) {
+ return new AddHourlyEmployee(empId, name, address, hourlyRate, itsPayrollFactory);
+ }
+
+ public Transaction makeAddSalariedEmployee(int empId, String name, String address, double salary) {
+ return new AddSalariedEmployee(empId, name, address, salary, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeAddressTransaction(int empId, String address) {
+ return new ChangeAddressTransaction(empId, address);
+ }
+
+ public Transaction makeChangeCommissionedTransaction(int empId, double salary, double hourlyRate) {
+ return new ChangeCommissionedTransaction(empId, salary, hourlyRate, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeDirectTransaction(int empId, String bank, String account) {
+ return new ChangeDirectTransaction(empId, bank, account, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeHoldTransaction(int empId) {
+ return new ChangeHoldTransaction(empId, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeHourlyTransaction(int empId, double rate) {
+ return new ChangeHourlyTransaction(empId, rate, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeMailTransaction(int empId, String address) {
+ return new ChangeMailTransaction(empId, address, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeMemberTransaction(int empId, int memberId, double dues) {
+ return new ChangeMemberTransaction(empId, memberId, dues, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeNameTransaction(int empId, String name) {
+ return new ChangeNameTransaction(empId, name);
+ }
+
+ public Transaction makeChangeSalariedTransaction(int empId, double salary) {
+ return new ChangeSalariedTransaction(empId, salary, itsPayrollFactory);
+ }
+
+ public Transaction makeChangeUnaffiliatedTransaction(int empId) {
+ return new ChangeUnaffiliatedTransaction(empId, itsPayrollFactory);
+ }
+
+ public Transaction makeDeleteEmployeeTransaction(int empId) {
+ return new DeleteEmployeeTransaction(empId);
+ }
+
+ public Transaction makePaydayTransaction(Calendar payDate) {
+ return new PaydayTransaction(payDate, itsPayrollFactory);
+ }
+
+ public Transaction makeSalesReceiptTransaction(Calendar saleDate, double amount, int empId) {
+ return new SalesReceiptTransaction(saleDate, amount, empId);
+ }
+
+ public Transaction makeServiceChargeTransaction(int memberId, Calendar date, double amount) {
+ return new ServiceChargeTransaction(memberId, date, amount);
+ }
+
+ public Transaction makeTimeCardTransaction(Calendar date, double hours, int empId) {
+ return new TimeCardTransaction(date, hours, empId);
+ }
+}
+
diff --git a/src/test/java/TestPayroll.java b/src/test/java/TestPayroll.java
index 6cfc00f..f94dedf 100644
--- a/src/test/java/TestPayroll.java
+++ b/src/test/java/TestPayroll.java
@@ -1,3 +1,5 @@
+import PayrollImplementation.PayrollFactoryImplementation;
+import TransactionImplementation.TransactionFactoryImplementation;
import junit.framework.TestCase;
import java.util.Calendar;
@@ -11,19 +13,27 @@ import GeneralTransactions.*;
import MethodTransactions.*;
import Methods.*;
import PayrollDatabase.*;
-import PayrollDatabaseImplementation.*;
import PayrollDomain.*;
import Schedules.*;
-
+import PayrollFactory.PayrollFactory;
+import PayrollDatabaseImplementation.PayrollDatabaseImplementation;
/**
* Created by k2works on 2017/04/06.
*/
public class TestPayroll extends TestCase{
+ private static TransactionFactoryImplementation itsTransactionFactory;
+
+ public void setUp() {
+ GlobalDatabase.payrollDB = new PayrollDatabaseImplementation();
+ PayrollFactory payrollFactory = new PayrollFactoryImplementation();
+ itsTransactionFactory = new TransactionFactoryImplementation(payrollFactory);
+ }
+
public void testAddSalariedEmployee() {
System.err.println("TestAddSalariedEmployee");
int empId = 1;
- AddSalariedEmployee t = new AddSalariedEmployee(empId, "Bob", "Home", 1000.00);
+ AddSalariedEmployee t = makeSalariedEmployee(empId, 1000.00);
t.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -43,7 +53,7 @@ public class TestPayroll extends TestCase{
public void testAddHourlyEmployee() {
System.err.println("TestAddHourlyEmployee");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -63,7 +73,7 @@ public class TestPayroll extends TestCase{
public void testAddCommissionedEmployee() {
System.err.println("TestAddCommissionedEmployee");
int empId = 1;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500.0, 3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -84,7 +94,7 @@ public class TestPayroll extends TestCase{
public void testDeleteEmployee() {
System.err.println("TestDeleteEmployee");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance","Home",2500,3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -97,7 +107,7 @@ public class TestPayroll extends TestCase{
public void testTimeCardTransaction() {
System.err.println("TestTimeCardTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar date = new GregorianCalendar(2001, Calendar.OCTOBER, 31);
TimeCardTransaction tct = new TimeCardTransaction(date,8.0,empId);
@@ -115,7 +125,7 @@ public class TestPayroll extends TestCase{
public void testSalesReceiptTransaction() {
System.err.println("TestSalesReceiptTransaction");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, 3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
Calendar date = new GregorianCalendar(2001, Calendar.NOVEMBER, 12);
SalesReceiptTransaction srt = new SalesReceiptTransaction(date, 25000, empId);
@@ -133,7 +143,7 @@ public class TestPayroll extends TestCase{
public void testAddServiceCharge() {
System.err.println("TestAddServiceCharge");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar date = new GregorianCalendar(2001, Calendar.OCTOBER, 31);
TimeCardTransaction tct = new TimeCardTransaction(date,8.0, empId);
@@ -153,7 +163,7 @@ public class TestPayroll extends TestCase{
public void testChangeNameTransaction() {
System.err.println("TestChangeNameTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
ChangeNameTransaction cnt = new ChangeNameTransaction(empId, "Bob");
cnt.Execute();
@@ -165,7 +175,7 @@ public class TestPayroll extends TestCase{
public void testChangeAddressTransaction() {
System.err.println("TestChangeAddressTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
ChangeAddressTransaction cat = new ChangeAddressTransaction(empId, "Second Home");
cat.Execute();
@@ -177,9 +187,9 @@ public class TestPayroll extends TestCase{
public void testChangeHourlyTransaction() {
System.err.println("TestChangeHourlyTransaction");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home",2500,3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
- ChangeHourlyTransaction cht = new ChangeHourlyTransaction(empId, 27.52);
+ ChangeHourlyTransaction cht = makeChangeHourlyTransaction(empId);
cht.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -196,9 +206,9 @@ public class TestPayroll extends TestCase{
public void testChangeSalariedTransaction() {
System.err.println("TestChangeSalariedTransaction");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, 3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
- ChangeSalariedTransaction cst = new ChangeSalariedTransaction(empId, 25000);
+ ChangeSalariedTransaction cst = makeChangeSalariedTransaction(empId);
cst.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -215,9 +225,9 @@ public class TestPayroll extends TestCase{
public void testChangeCommissionedTransaction() {
System.err.println("TestChangeCommissionedTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
- ChangeCommissionedTransaction cct = new ChangeCommissionedTransaction(empId, 25000, 4.5);
+ ChangeCommissionedTransaction cct = makeChangeCommissionedTransaction(empId);
cct.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -235,9 +245,9 @@ public class TestPayroll extends TestCase{
public void testChangeMailTransaction() {
System.err.println("TestChangeMailTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
- ChangeMailTransaction cmt = new ChangeMailTransaction(empId, "4080 El Cerrito Road");
+ ChangeMailTransaction cmt = makeChangeMailTransaction(empId);
cmt.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -251,9 +261,9 @@ public class TestPayroll extends TestCase{
public void testChangeDirectTransaction() {
System.err.println("TestChangeDirectTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
- ChangeDirectTransaction cdt = new ChangeDirectTransaction(empId, "FirstNational", "1058209");
+ ChangeDirectTransaction cdt = makeChangeDirectTransaction(empId);
cdt.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -268,9 +278,9 @@ public class TestPayroll extends TestCase{
public void testChangeHoldTransaction() {
System.err.println("TestChangeHoldTransaction");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
- ChangeHoldTransaction cht = new ChangeHoldTransaction(empId);
+ ChangeHoldTransaction cht = makeChangeHoldTransaction(empId);
cht.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -284,9 +294,9 @@ public class TestPayroll extends TestCase{
System.err.println("TestChangeMemberTransaction");
int empId = 2;
int memberId = 7734;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 99.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 99.42);
cmt.Execute();
Employee e = GlobalDatabase.payrollDB.GetEmployee(empId);
assertNotNull(e);
@@ -303,10 +313,10 @@ public class TestPayroll extends TestCase{
public void testPaySingleSalariedEmployee() {
System.err.println("TestPaySingleSalariedEmployee");
int empId = 1;
- AddSalariedEmployee t = new AddSalariedEmployee(empId,"Bob","Home",1000.0);
+ AddSalariedEmployee t = makeSalariedEmployee(empId, 1000.0);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER,30);
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 1000.0);
}
@@ -314,10 +324,10 @@ public class TestPayroll extends TestCase{
public void testPaySingleSalariedEmployeeOnWrongDate() {
System.err.println("TestPaySingleSalariedEmployeeOnWrongDate");
int empId = 1;
- AddSalariedEmployee t = new AddSalariedEmployee(empId,"Bob","Home",1000.0);
+ AddSalariedEmployee t = makeSalariedEmployee(empId, 1000.0);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER,29);
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNull(pc);
@@ -326,10 +336,10 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeNoTimeCards() {
System.err.println("TestPaySingleHourlyEmployeeNoTimeCards");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId,"Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 0.0);
}
@@ -337,12 +347,12 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeOneTimeCard() {
System.err.println("TestPaySingleHourlyEmployeeOneTimeCard");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId,"Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
TimeCardTransaction tc = new TimeCardTransaction(payDate, 2.0, empId);
tc.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt,empId,payDate,30.5);
}
@@ -350,12 +360,12 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeOvertimeOneTimeCard() {
System.err.println("TestPaySingleHourlyEmployeeOvertimeOneTimeCard");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId,"Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
TimeCardTransaction tc = new TimeCardTransaction(payDate,9.0, empId);
tc.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt,empId,payDate,(8 + 1.5) * 15.25);
}
@@ -363,12 +373,12 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeOnWrongDate() {
System.err.println("TestPaySingleHourlyEmployeeOnWrongDate");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 8);
TimeCardTransaction tc = new TimeCardTransaction(payDate, 9.0, empId);
tc.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNull(pc);
@@ -377,14 +387,14 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeTwoTimeCards() {
System.err.println("TestPaySingleHourlyEmployeeTwoTimeCards");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
TimeCardTransaction tc = new TimeCardTransaction(payDate, 2.0, empId);
tc.Execute();
TimeCardTransaction tc2 = new TimeCardTransaction(new GregorianCalendar(2001, Calendar.NOVEMBER,8), 5.0, empId);
tc2.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId,payDate,7 * 15.25);
}
@@ -392,7 +402,7 @@ public class TestPayroll extends TestCase{
public void testPaySingleHourlyEmployeeWithTimeCardsSpanningTwoPayPeriods() {
System.err.println("TestPaySingleHourlyEmployeeWithTimeCardsSpanningTwoPayPeriods");
int empId = 2;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill","Home",15.25);
+ AddHourlyEmployee t = makeHourlyEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
Calendar dateInPreviousPayPeriod = new GregorianCalendar(2001, Calendar.NOVEMBER, 2);
@@ -400,7 +410,7 @@ public class TestPayroll extends TestCase{
tc.Execute();
TimeCardTransaction tc2 = new TimeCardTransaction(dateInPreviousPayPeriod,5.0, empId);
tc2.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 2 * 15.25);
}
@@ -408,10 +418,10 @@ public class TestPayroll extends TestCase{
public void testPaySingleCommissionedEmployeeNoSalesReceipts() {
System.err.println("TestPaySingleCommissionedEmployeeNoSalesReceipts");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, 3.2);
+ AddCommissionedEmployee t = makeCommissionedEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 2500.00);
}
@@ -419,12 +429,12 @@ public class TestPayroll extends TestCase{
public void testPaySingleCommissionedEmployeeOneSalesReceipt() {
System.err.println("TestPaySingleCommissionedEmployeeOneSalesReceipt");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, .032);
+ AddCommissionedEmployee t = makeAddCommissionedEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
SalesReceiptTransaction srt = new SalesReceiptTransaction(payDate, 13000.0, empId);
srt.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 2500.0 + .032 * 13000);
}
@@ -432,14 +442,14 @@ public class TestPayroll extends TestCase{
public void testPaySingleCommissionedEmployeeTwoSalesReceipts() {
System.err.println("TestPaySingleCommissionedEmployeeTwoSalesReceipts");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, .032);
+ AddCommissionedEmployee t = makeAddCommissionedEmployee(empId);
t.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
SalesReceiptTransaction srt = new SalesReceiptTransaction(payDate, 13000.0, empId);
srt.Execute();
SalesReceiptTransaction srt2 = new SalesReceiptTransaction(new GregorianCalendar(2001, Calendar.NOVEMBER, 8), 24000, empId);
srt2.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 2500.0 + .032 * 13000 + .032 * 24000);
}
@@ -447,7 +457,7 @@ public class TestPayroll extends TestCase{
public void testPaySingleCommissionedEmployeeSpanMultiplePayPeriods() {
System.err.println("testPaySingleCommissionedEmployeeSpanMultiplePayPeriods");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500, .032);
+ AddCommissionedEmployee t = makeAddCommissionedEmployee(empId);
t.Execute();
Calendar earlyDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9); // Previous
// pay
@@ -463,7 +473,7 @@ public class TestPayroll extends TestCase{
srt2.Execute();
SalesReceiptTransaction srt3 = new SalesReceiptTransaction(lateDate, 15000, empId);
srt3.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
ValidatePaycheck(pt, empId, payDate, 2500.0 + .032 * 13000);
}
@@ -471,14 +481,14 @@ public class TestPayroll extends TestCase{
public void testSalariedUnionMemberDues() {
System.err.println("TestSalariedUnionMemberDues");
int empId = 1;
- AddSalariedEmployee t = new AddSalariedEmployee(empId, "Bob","Home",1000.0);
+ AddSalariedEmployee t = makeSalariedEmployee(empId, 1000.0);
t.Execute();
int memberId = 7734;
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId,9.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 9.42);
cmt.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 30);
int fridays = 5; // Fridays in Nov, 2001.
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNotNull(pc);
@@ -492,15 +502,15 @@ public class TestPayroll extends TestCase{
public void testHourlyUnionMemberDues() {
System.err.println("TestHourlyUnionMemberDues");
int empId = 1;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill","Home",15.24);
+ AddHourlyEmployee t = makeAddHourlyEmployee(empId);
t.Execute();
int memberId = 7734;
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId,memberId,9.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 9.42);
cmt.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
TimeCardTransaction tct = new TimeCardTransaction(payDate, 8.0, empId);
tct.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNotNull(pc);
@@ -514,13 +524,13 @@ public class TestPayroll extends TestCase{
public void testCommissionedUnionMemberDues() {
System.err.println("TestCommissionedUnionMemberDues");
int empId = 3;
- AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Lance", "Home", 2500,.032);
+ AddCommissionedEmployee t = makeAddCommissionedEmployee(empId);
t.Execute();
int memberId = 7734;
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 9.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 9.42);
cmt.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 9);
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNotNull(pc);
@@ -534,17 +544,17 @@ public class TestPayroll extends TestCase{
public void testHourlyUnionMemberServiceCharge() {
System.err.println("TestHourlyUnionMemberServiceCharge");
int empId = 1;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.24);
+ AddHourlyEmployee t = makeAddHourlyEmployee(empId);
t.Execute();
int memberId = 7734;
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 9.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 9.42);
cmt.Execute();
Calendar payDate = new GregorianCalendar(2001, Calendar.NOVEMBER,9);
ServiceChargeTransaction sct = new ServiceChargeTransaction(memberId, payDate, 19.42);
sct.Execute();
TimeCardTransaction tct = new TimeCardTransaction(payDate,8.0,empId);
tct.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNotNull(pc);
@@ -558,10 +568,10 @@ public class TestPayroll extends TestCase{
public void testServiceChargesSpanningMultiplePayPeriods() {
System.err.println("TestServiceChargesSpanningMultiplePayPeriods");
int empId = 1;
- AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.24);
+ AddHourlyEmployee t = makeAddHourlyEmployee(empId);
t.Execute();
int memberId = 7734;
- ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 9.42);
+ ChangeMemberTransaction cmt = makeChangeMemberTransaction(empId, memberId, 9.42);
cmt.Execute();
Calendar earlyDate = new GregorianCalendar(2001, Calendar.NOVEMBER, 2); // Previous
// Friday
@@ -576,7 +586,7 @@ public class TestPayroll extends TestCase{
sctLate.Execute();
TimeCardTransaction tct = new TimeCardTransaction(payDate, 8.0, empId);
tct.Execute();
- PaydayTransaction pt = new PaydayTransaction(payDate);
+ PaydayTransaction pt = makePaydayTransaction(payDate);
pt.Execute();
Paycheck pc = pt.GetPaycheck(empId);
assertNotNull(pc);
@@ -596,4 +606,57 @@ public class TestPayroll extends TestCase{
assertEquals(0.0, pc.GetDeductions());
assertEquals(pay, pc.GetNetPay());
}
+
+ private AddSalariedEmployee makeSalariedEmployee(int empId, double salary) {
+ return (AddSalariedEmployee) itsTransactionFactory.makeAddSalariedEmployee(empId, "Bob", "Home", salary);
+ }
+
+ private AddHourlyEmployee makeHourlyEmployee(int empId) {
+ return (AddHourlyEmployee) itsTransactionFactory.makeAddHourlyEmployee(empId, "Bill", "Home", 15.25);
+ }
+
+ private AddCommissionedEmployee makeCommissionedEmployee(int empId) {
+ return (AddCommissionedEmployee) itsTransactionFactory.makeAddCommissionedEmployee(empId, "Lance","Home",2500,3.2);
+ }
+
+ private ChangeMailTransaction makeChangeMailTransaction(int empId) {
+ return (ChangeMailTransaction) itsTransactionFactory.makeChangeMailTransaction(empId, "4080 El Cerrito Road");
+ }
+
+ private ChangeHourlyTransaction makeChangeHourlyTransaction(int empId) {
+ return (ChangeHourlyTransaction) itsTransactionFactory.makeChangeHourlyTransaction(empId, 27.52);
+ }
+
+ private ChangeSalariedTransaction makeChangeSalariedTransaction(int empId) {
+ return (ChangeSalariedTransaction) itsTransactionFactory.makeChangeSalariedTransaction(empId, 25000);
+ }
+
+ private ChangeCommissionedTransaction makeChangeCommissionedTransaction(int empId) {
+ return (ChangeCommissionedTransaction) itsTransactionFactory.makeChangeCommissionedTransaction(empId, 25000, 4.5);
+ }
+
+ private ChangeDirectTransaction makeChangeDirectTransaction(int empId) {
+ return (ChangeDirectTransaction) itsTransactionFactory.makeChangeDirectTransaction(empId, "FirstNational", "1058209");
+ }
+
+ private ChangeHoldTransaction makeChangeHoldTransaction(int empId) {
+ return (ChangeHoldTransaction) itsTransactionFactory.makeChangeHoldTransaction(empId);
+ }
+
+ private ChangeMemberTransaction makeChangeMemberTransaction(int empId, int memberId, double dues) {
+ return (ChangeMemberTransaction) itsTransactionFactory.makeChangeMemberTransaction(empId, memberId, dues);
+ }
+
+ private PaydayTransaction makePaydayTransaction(Calendar payDate) {
+ return (PaydayTransaction) itsTransactionFactory.makePaydayTransaction(payDate);
+ }
+
+ private AddCommissionedEmployee makeAddCommissionedEmployee(int empId) {
+ return (AddCommissionedEmployee) itsTransactionFactory.makeAddCommissionedEmployee(empId, "Lance", "Home", 2500, .032);
+ }
+
+ private AddHourlyEmployee makeAddHourlyEmployee(int empId) {
+ return (AddHourlyEmployee) itsTransactionFactory.makeAddHourlyEmployee(empId, "Bill","Home",15.24);
+ }
+
}
\ No newline at end of file