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 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 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); }