示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }