public void Add_Salaried_Employee_Test() { int empId = 4; AddSalariedEmployee t = new AddSalariedEmployee(empId, "Emp4", "Addr4", 4000); t.Execute(); Employee e = EmployeeRepository.Employee(empId); Assert.AreEqual(e.Name, "Emp4"); PaymentClassification pc = e.PaymentClassification; Assert.IsInstanceOfType(pc, typeof(SalariedClassification)); PaymentSchedule ps = e.PaymentSchedule; Assert.IsInstanceOfType(ps, typeof(MonthlySchedule)); Assert.AreEqual(e.PaymentClassification.Salary, 4000); PaymentMethod pm = e.PaymentMethod; Assert.IsInstanceOfType(pm, typeof(HoldMethod)); }
public void LoadHourlyEmployeeOneTimeCard() { employee.Schedule = new WeeklySchedule(); employee.Method = new DirectDepositMethod("1st Bank", "0123456"); employee.Classification = new HourlyClassification(180.50); database.AddEmployee(employee); DateTime punchDate = new DateTime(2001, 11, 9); //Friday TimeCardTransaction tct = new TimeCardTransaction(punchDate, 9.0, 123, database); tct.Execute(); Employee loadedEmployee = database.GetEmployee(123); PaymentClassification classification = loadedEmployee.Classification; Assert.IsTrue(classification is HourlyClassification); HourlyClassification hourlyClassification = classification as HourlyClassification; Assert.AreEqual(180.50, hourlyClassification.HourlyRate, .01); var timeCards = hourlyClassification.TimeCards; Assert.AreEqual(1, timeCards.Count); var tc = timeCards[punchDate] as TimeCard; Assert.IsNotNull(tc); Assert.AreEqual(9.0, tc.Hours); }
private void CreateCommissioned(DataRow row) { double baseRate = Convert.ToDouble(row["Salary"]); double commissionRate = Convert.ToDouble(row["Commission"]); classification = new CommissionClassification(baseRate, commissionRate); }
public void TestAddCommissionedEmployee() { int empId = 3; AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Justin", "Home", 2500, 9.5, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.AreEqual("Justin", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionClassification); CommissionClassification cc = pc as CommissionClassification; Assert.AreEqual(2500, cc.BaseRate, .001); Assert.AreEqual(9.5, cc.CommissionRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is BiWeeklySchedule); PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }
public void TestAddSalariedEmployee() { int empId = 1; AddSalariedEmployee t = new AddSalariedEmployee(empId, "Bob", "Home", 1000.00, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is SalariedClassification); SalariedClassification sc = pc as SalariedClassification; Assert.AreEqual(1000.00, sc.Salary, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is MonthlySchedule); PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }
public void TestChangeHourlyTransaction() { int empId = 3; AddCommissionedEmployee t = new AddCommissionedEmployee( empId, "Lance", "Home", 2500, 3.2, database); t.Execute(); ChangeHourlyTransaction cht = new ChangeHourlyTransaction(empId, 27.52, database); cht.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsNotNull(pc); Assert.IsTrue(pc is HourlyClassification); HourlyClassification hc = pc as HourlyClassification; Assert.AreEqual(27.52, hc.HourlyRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is WeeklySchedule); }
public void TestChangeCommisionTransaction() { int empId = 5; AddSalariedEmployee t = new AddSalariedEmployee( empId, "Bob", "Home", 2500.00, database); t.Execute(); ChangeCommissionedTransaction cht = new ChangeCommissionedTransaction(empId, 1250.00, 5.6, database); cht.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsNotNull(pc); Assert.IsTrue(pc is CommissionClassification); CommissionClassification cc = pc as CommissionClassification; Assert.AreEqual(1250.00, cc.BaseRate, .001); Assert.AreEqual(5.6, cc.CommissionRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is BiWeeklySchedule); }
public void TestAddCommisionedEmployee() { int empId = 1; var t = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.0M, 50.0M); t.Execute(); var e = Database.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.GetClassification(); CommissionedClassification sc = (CommissionedClassification)pc; Assert.AreEqual(sc.Salary, 1000.00M); Assert.AreEqual(sc.CommissionRate, 50.0M); PaymentSchedule ps = e.GetSchedule(); Assert.IsInstanceOfType(ps, typeof(BiweeklySchedule)); PaymentMethod pm = e.GetMethod(); Assert.IsInstanceOfType(pm, typeof(HoldMethod)); }
public void PayDay(Paycheck paycheck) { paycheck.GrossPay = PaymentClassification.CalculatePay(paycheck); paycheck.Deductions = Affiliation.CalculateDeductions(paycheck); PaymentMethod.Pay(paycheck); }
public void TestSalesReceiptTransaction() { int empId = 2; var addTx = new AddCommissionedEmployee(empId, "Bill", "Home", 1000M, 3.2M); addTx.Execute(); var salesReceiptTX = new SalesReceiptTransaction(1000M, new Date(10, 31, 2001), empId); salesReceiptTX.Execute(); var employee = Database.GetEmployee(empId); Assert.IsNotNull(employee); PaymentClassification classification = employee.GetClassification(); var commissionedClassification = (CommissionedClassification)classification; var receipts = commissionedClassification.GetSalesReceiptsForDate(new Date(10, 31, 2001)); Assert.AreEqual(1, receipts.Count, "Receipt count for date is not 1"); var firstReceipt = receipts.First(); Assert.AreEqual(1000M, firstReceipt.Amount); }
public void TestAddHourlyEmployee() { int empId = 1; var t = new AddHourlyEmployee(empId, "Bob", "Home", 10.0M); t.Execute(); var e = Database.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.GetClassification(); HourlyClassification sc = (HourlyClassification)pc; Assert.AreEqual(sc.HourlyRate, 10.00M); PaymentSchedule ps = e.GetSchedule(); Assert.IsInstanceOfType(ps, typeof(WeeklySchedule)); PaymentMethod pm = e.GetMethod(); Assert.IsInstanceOfType(pm, typeof(HoldMethod)); }
public void TestCommissionedEmployee() { int empId = 3; AddEmployeeTransaction t = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.00m, 0.1m); t.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.That(e.Name, Is.EqualTo("Bob")); PaymentClassification pc = e.Classification; Assert.That(pc is CommissionedClassification, Is.True); CommissionedClassification cc = pc as CommissionedClassification; Assert.That(cc.Salary, Is.EqualTo(1000.00m)); Assert.That(cc.CommissionRate, Is.EqualTo(0.1m)); PaymentSchedule ps = e.Schedule; Assert.That(ps is BiWeeklySchedule, Is.True); PaymentMethod pm = e.Method; Assert.That(pm is HoldMethod, Is.True); }
public void TestChangeCommissionedTransaction() { int empId = 3; AddSalariedEmployee t = new AddSalariedEmployee(empId, "Bob", "Home", 3000m); t.Execute(); ChangeClassificationTransaction cht = new ChangeCommissionedTransaction(empId, 2500m, 3.4m); cht.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.That(e, Is.Not.Null); PaymentClassification pc = e.Classification; Assert.That(pc, Is.Not.Null); Assert.That(pc is CommissionedClassification, Is.True); CommissionedClassification cc = pc as CommissionedClassification; Assert.That(cc.Salary, Is.EqualTo(2500m)); Assert.That(cc.CommissionRate, Is.EqualTo(3.4m)); PaymentSchedule ps = e.Schedule; Assert.That(ps is BiWeeklySchedule); }
public void TestSalesReceiptTransaction() { int empId = 6; AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Bill", "Home", 2500m, 3.5m); t.Execute(); SalesReceiptTransaction srt = new SalesReceiptTransaction(new DateTime(2020, 02, 02), 500000m, empId); srt.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.That(e, Is.Not.Null); PaymentClassification pc = e.Classification; Assert.That(pc is CommissionedClassification, Is.True); CommissionedClassification cc = pc as CommissionedClassification; SalesReceipt sr = cc.GetSalesReceipt(new DateTime(2020, 02, 02)); Assert.That(sr, Is.Not.Null); Assert.That(sr.Amount, Is.EqualTo(500000m)); }
public void TestTimeCardTransaction() { int empId = 5; AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database); t.Execute(); TimeCardTransaction tct = new TimeCardTransaction( new DateTime(2005, 7, 31), 8.0, empId, database); tct.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is HourlyClassification); HourlyClassification hc = pc as HourlyClassification; TimeCard tc = hc.GetTimeCard(new DateTime(2005, 7, 31)); Assert.IsNotNull(tc); Assert.AreEqual(8.0, tc.Hours); }
private void PrepareToSaveClassification(Employee employee) { PaymentClassification classification = employee.Classification; if (classification is HourlyClassification) { classificationCode = "hourly"; HourlyClassification hourlyClassification = classification as HourlyClassification; insertClassificationCommand = CreateInsertHourlyClassificationCommand(hourlyClassification, employee); } else if (classification is SalariedClassification) { classificationCode = "salary"; SalariedClassification salariedClassification = classification as SalariedClassification; insertClassificationCommand = CreateInsertSalariedClassificationCommand(salariedClassification, employee); } else if (classification is CommissionClassification) { classificationCode = "commission"; CommissionClassification commissionClassification = classification as CommissionClassification; insertClassificationCommand = CreateInsertCommissionClassificationCommand(commissionClassification, employee); } else { classificationCode = "unknown"; } }
public void TestSalesReceiptTransaction() { int empId = 5; AddCommissionedEmployee t = new AddCommissionedEmployee( empId, "Bill", "Home", 2000, 15.25, database); t.Execute(); SalesReceiptTransaction tct = new SalesReceiptTransaction( new DateTime(2005, 7, 31), 250.00, empId, database); tct.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionClassification); CommissionClassification cc = pc as CommissionClassification; SalesReceipt sr = cc.GetSalesReceipt(new DateTime(2005, 7, 31)); Assert.IsNotNull(sr); Assert.AreEqual(250.00, sr.SaleAmount, .001); }
public void SalesReceiptTransaction() { int empId = 5; AddCommissionedEmployee t = new AddCommissionedEmployee( empId, "Bob", "Home", 1000.00, 10, database); t.Execute(); SalesReceiptTransaction srt = new SalesReceiptTransaction( new DateTime(2005, 7, 31), 100.0, empId, database); srt.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionedClassification); CommissionedClassification cc = pc as CommissionedClassification; SalesReceipt sr = cc.GetSalesReceipt(new DateTime(2005, 7, 31)); Assert.IsNotNull(sr); Assert.AreEqual(100, sr.Amount); }
public void TestChangeSalaryTransaction() { int empId = 4; AddCommissionedEmployee t = new AddCommissionedEmployee( empId, "Lance", "Home", 2500, 3.2, database); t.Execute(); ChangeSalariedTransaction cst = new ChangeSalariedTransaction(empId, 3000.00, database); cst.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsNotNull(pc); Assert.IsTrue(pc is SalariedClassification); SalariedClassification sc = pc as SalariedClassification; Assert.AreEqual(3000.00, sc.Salary, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is MonthlySchedule); }
public void TestSalesReceiptTransaction() { int empId = 5; AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Bill", "Home", 1000.00, 15); t.Execute(); SalesReceiptTransaction tct = new SalesReceiptTransaction(new DateTime(2005, 7, 31), 200.0, empId); tct.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is ComissinedClassification); ComissinedClassification hc = pc as ComissinedClassification; SalesReceipt tc = hc.GetSalesReceipt(new DateTime(2005, 7, 31)); Assert.IsNotNull(tc); Assert.AreEqual(200.0, tc.Amount); }
public void TestAddHourlyEmployee() { int empId = 2; AddHourlyEmployee t = new AddHourlyEmployee(empId, "Micah", "Home", 200.00, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.AreEqual("Micah", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is HourlyClassification); HourlyClassification hc = pc as HourlyClassification; Assert.AreEqual(200.00, hc.HourlyRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is WeeklySchedule); PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }
public void TestChangeCommissionedTransaction() { int empId = 3; AddSalariedEmployee t = new AddSalariedEmployee(empId, "Lance", "Home", 2500); t.Execute(); ChangeCommissionedTransaction cht = new ChangeCommissionedTransaction(empId, 3000, 20); cht.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsNotNull(pc); Assert.IsTrue(pc is ComissinedClassification); ComissinedClassification hc = pc as ComissinedClassification; Assert.AreEqual(3000, hc.Salary, .001); Assert.AreEqual(20, hc.ComissionRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is BiweeklySchedule); }
public void TestSalesReceiptTransaction() { int empId = 6; DateTime saleDate = new DateTime(2017, 09, 07); AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Commissioned", "Sertãozinho", 1000, 10, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionedClassification); SalesReceiptTransaction srt = new SalesReceiptTransaction(empId, saleDate, 100.00, database); srt.Execute(); CommissionedClassification cc = pc as CommissionedClassification; SalesReceipt sr = cc.GetSalesReceipt(saleDate); Assert.IsNotNull(sr); Assert.AreEqual(100.00, sr.SaleAmount, .001); }
public void TestAddCommissionedEmployee() { int empId = 1; AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.00, 15); t.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is ComissinedClassification); ComissinedClassification cc = pc as ComissinedClassification; Assert.AreEqual(1000.00, cc.Salary, .001); Assert.AreEqual(15, cc.ComissionRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is BiweeklySchedule); // They are paid every other Friday PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }
public void LoadSalariedEmployee() { employee.Schedule = new BiweeklySchedule(); employee.Method = new DirectDepositMethod("1st Bank", "0123456"); employee.Classification = new SalariedClassification(5432.10); database.AddEmployee(employee); Employee loadedEmployee = database.GetEmployee(123); Assert.AreEqual(123, loadedEmployee.EmpId); Assert.AreEqual(employee.Name, loadedEmployee.Name); Assert.AreEqual(employee.Address, loadedEmployee.Address); PaymentSchedule schedule = loadedEmployee.Schedule; Assert.IsTrue(schedule is BiweeklySchedule); PaymentMethod method = loadedEmployee.Method; Assert.IsTrue(method is DirectDepositMethod); DirectDepositMethod ddMethod = method as DirectDepositMethod; Assert.AreEqual("1st Bank", ddMethod.Bank); Assert.AreEqual("0123456", ddMethod.Account); PaymentClassification classification = loadedEmployee.Classification; Assert.IsTrue(classification is SalariedClassification); SalariedClassification salariedClassification = classification as SalariedClassification; Assert.AreEqual(5432.10, salariedClassification.Salary, .01); }
public void TestAddHourlyEmployee() { int empId = 1; AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bob", "Home", 13.00); t.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is HourlyClassification); HourlyClassification cc = pc as HourlyClassification; Assert.AreEqual(13.00, cc.HourlyRate, .001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is WeeklySchedule); // They are paid every Friday. PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }
public void LoadCommissionedClassificationOneSalesReceipt() { employee.Schedule = new BiweeklySchedule(); employee.Method = new DirectDepositMethod("1st Bank", "0123456"); employee.Classification = new CommissionedClassification(500.00, 80.30); database.AddEmployee(employee); var saleDay = new DateTime(2001, 11, 16); SalesReceiptTransaction srt = new SalesReceiptTransaction(saleDay, 3, 123, database); srt.Execute(); Employee loadedEmployee = database.GetEmployee(123); PaymentClassification classification = loadedEmployee.Classification; Assert.IsTrue(classification is CommissionedClassification); CommissionedClassification commissionedClassification = classification as CommissionedClassification; Assert.AreEqual(500.00, commissionedClassification.Salary, .01); Assert.AreEqual(80.30, commissionedClassification.CommissionRate, .01); var salesReceipts = commissionedClassification.SalesReceipts; Assert.AreEqual(1, salesReceipts.Count); var sr = salesReceipts[saleDay] as SalesReceipt; Assert.IsNotNull(sr); Assert.AreEqual(3, sr.Amount); }
public void TestTimeCardTransaction() { int empId = 31; var t = new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database); t.Execute(); var today = DateTime.UtcNow; var tct = new TimeCardTransaction(today, 8.0, empId, database); tct.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is HourlyClassification); HourlyClassification hc = pc as HourlyClassification; TimeCard tc = hc.GetTimeCard(today); Assert.IsNotNull(tc); Assert.AreEqual(8.0, tc.Hours); }
public void TestTimeCardTransaction() { int empId = 5; AddHourlyEmployee t = new AddHourlyEmployee(empId, "Kubing", "Home", 15.25, database); t.Execute(); var punchDay = new DateTime(2005, 7, 31); TimeCardTransaction tct = new TimeCardTransaction(punchDay, 8.0, empId, database); tct.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is HourlyClassification); HourlyClassification hc = pc as HourlyClassification; var timeCards = database.GetTimeCards(empId).ToList(); var tc = timeCards.FirstOrDefault(x => x.Date == punchDay); Assert.IsNotNull(tc); Assert.AreEqual(8.0, tc.Hours); }
public void TestAddCommissionEmployee() { int empId = 1; AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.00, 500.00); t.Execute(); Employee e = PayrollDatabase.GetEmployee(empId); Assert.AreEqual("Bob", e.Name); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionedClassification); CommissionedClassification sc = pc as CommissionedClassification; Assert.AreEqual(1000, sc.Salary); Assert.AreEqual(500, sc.CommissionRate); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is BiweeklySchedule); PaymentMethod pm = e.Method; Assert.IsTrue(pm is HoldMethod); }