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 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 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 override void Execute() { Employee e = Database.GetEmployee(empId); if (e != null) { CommissionClassification hc = e.Classification as CommissionClassification; if (hc != null) { hc.AddSalesReceipt(new SalesReceipt(date, saleAmount)); } else { throw new ApplicationException( "Tried to add sales receipt to" + "non-commissioned employee"); } } else { throw new ApplicationException( "No such employee."); } }