public void TestCommissionedEmployee() { int empId = 1; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 500.00, 80.00, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.That("Kubing", Is.EqualTo(e.Name)); PaymentClassification pc = e.Classification; Assert.That(pc is CommissionedClassification, Is.True); CommissionedClassification sc = pc as CommissionedClassification; Assert.AreEqual(500.00, sc.Salary, .001); Assert.AreEqual(80.00, sc.CommissionRate, .001); PaymentSchedule ps = e.Schedule; Assert.That(ps is BiweeklySchedule, Is.True); PaymentMethod pm = e.Method; Assert.That(pm is HoldMethod, Is.True); }
public void TestChangeSalariedTransaction() { int empId = 4; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2500, 3.2, database); t.Execute(); ChangeSalariedTransaction cst = new ChangeSalariedTransaction(empId, 1000.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(1000.00, sc.Salary, 0.001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is MonthlySchedule); }
public void TestChangeHourlyTransaction() { int empId = 3; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "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, 0.001); PaymentSchedule ps = e.Schedule; Assert.IsTrue(ps is WeeklySchedule); }
public void TestSalesReceiptTransaction() { int empId = 6; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000, 3.0, database); t.Execute(); var saleDay = new DateTime(2017, 3, 19); SalesReceiptTransaction srt = new SalesReceiptTransaction(saleDay, 4, empId, database); srt.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentClassification pc = e.Classification; Assert.IsTrue(pc is CommissionedClassification); CommissionedClassification hc = pc as CommissionedClassification; var salesReceipts = database.GetSalesReceipts(empId).ToList(); var sr = salesReceipts.FirstOrDefault(x => x.Date == saleDay); Assert.IsNotNull(sr); Assert.AreEqual(4, sr.Amount); }
public void TestPaySingleCommissionEmployeeWithNoSalesReceipt() { int empId = 4; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000.0, 3.0, database); t.Execute(); DateTime payDate = new DateTime(2001, 11, 16); PaydayTransaction pt = new PaydayTransaction(payDate, database); pt.Execute(); ValidateCommissionedPaycheck(pt, empId, payDate, 2000.0); }
public void TestDeleteEmployee() { int empId = 4; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2500, 3.2, database); t.Execute(); Employee e = database.GetEmployee(empId); Assert.That(e, Is.Not.Null); DeleteEmployeeTransaction dt = new DeleteEmployeeTransaction(empId, database); dt.Execute(); Employee e2 = database.GetEmployee(empId); Assert.That(e2, Is.Null); }
public void TestChangeHoldTransaction() { int empId = 4; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000.00, 3.1, database); t.Execute(); ChangeHoldTransaction cmt = new ChangeHoldTransaction(empId, database); cmt.Execute(); Employee e = database.GetEmployee(empId); Assert.IsNotNull(e); PaymentMethod pm = e.Method; Assert.IsNotNull(pm); Assert.IsTrue(pm is HoldMethod); }
public void TestPaySingleCommissionEmployeeOnWrongDate() { int empId = 5; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000.0, 3.0, database); t.Execute(); DateTime payDate = new DateTime(2001, 11, 15); SalesReceiptTransaction srt = new SalesReceiptTransaction(payDate, 3, empId, database); srt.Execute(); PaydayTransaction pt = new PaydayTransaction(payDate, database); pt.Execute(); Paycheck pc = pt.GetPaycheck(empId); Assert.IsNull(pc); }
public void TestPaySingleCommissionEmployeeTwoSalesReceipts() { int empId = 5; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000.0, 3.0, database); t.Execute(); DateTime payDate = new DateTime(2001, 11, 16); SalesReceiptTransaction srt = new SalesReceiptTransaction(payDate, 3, empId, database); srt.Execute(); SalesReceiptTransaction srt2 = new SalesReceiptTransaction(payDate.AddDays(-1), 12, empId, database); srt2.Execute(); PaydayTransaction pt = new PaydayTransaction(payDate, database); pt.Execute(); ValidateCommissionedPaycheck(pt, empId, payDate, 2000.0 + 15 * 3.0); }
public void TestPaySingleCommissionEmployeeWithSalesReceiptsSpanningTwoPayPeriods() { int empId = 5; AddCommissionEmployee t = new AddCommissionEmployee(empId, "Kubing", "Home", 2000.0, 3.0, database); t.Execute(); DateTime payDate = new DateTime(2001, 11, 16); DateTime dateInPreviousPayPeriod = new DateTime(2001, 11, 1); SalesReceiptTransaction srt = new SalesReceiptTransaction(payDate, 3, empId, database); srt.Execute(); SalesReceiptTransaction srt2 = new SalesReceiptTransaction(dateInPreviousPayPeriod, 12, empId, database); srt2.Execute(); PaydayTransaction pt = new PaydayTransaction(payDate, database); pt.Execute(); ValidateCommissionedPaycheck(pt, empId, payDate, 2000.0 + 3 * 3.0); }