Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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.");
            }
        }