Beispiel #1
0
        public void TestHourlyUnionMemberServiceCharge()
        {
            int empId = 1;
            AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.24);
            t.Execute();
            int memberId = 7734;

            ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 9.42);
            cmt.Execute();
            DateTime payDate = new DateTime(2001, 11, 30);

            ServiceChargeTransaction sct=new ServiceChargeTransaction(memberId,payDate,19.42);
            sct.Execute();

            PaydayTransaction pt=new PaydayTransaction(payDate);
            pt.Execute();

            Paycheck pc = pt.GetPaycheck(empId);

            Assert.IsNotNull(pc);
            Assert.AreEqual(payDate,pc.PayPeriodEndDate);
            Assert.AreEqual(8*15.24,pc.GrossPay,0.001);
            Assert.AreEqual("Hold", pc.GetField("Disposition"));
            Assert.AreEqual(9.42+19.42, pc.Deductions, 0.001);
            Assert.AreEqual((8*15.24) - (9.42+19.42), pc.NetPay, 0.001);
        }
Beispiel #2
0
        public void TestServiceChargesSpanningMultiplePayPeriods()
        {
            int empId = 1;
            AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bill", "Home", 15.24);
            t.Execute();
            int memberId = 7734;

            ChangeMemberTransaction cmt = new ChangeMemberTransaction(empId, memberId, 9.42);
            cmt.Execute();
            DateTime payDate = new DateTime(2001, 11, 9);
            DateTime earlyDate = new DateTime(2001, 11, 2);//上一个周五
            DateTime lastDate=new DateTime(2001,11,16);//下个周五


            ServiceChargeTransaction sct = new ServiceChargeTransaction(memberId, payDate, 19.42);
            sct.Execute();

            ServiceChargeTransaction sctEarly = new ServiceChargeTransaction(memberId, earlyDate, 100);
            sctEarly.Execute();
            ServiceChargeTransaction sctLast = new ServiceChargeTransaction(memberId, lastDate, 200);
            sctLast.Execute();

            TimeCardTransaction tct=new TimeCardTransaction(payDate,8,empId);
            tct.Execute();

            PaydayTransaction pt = new PaydayTransaction(payDate);
            pt.Execute();

            Paycheck pc = pt.GetPaycheck(empId);

            Assert.IsNotNull(pc);
            Assert.AreEqual(payDate, pc.PayPeriodEndDate);
            Assert.AreEqual(8 * 15.24, pc.GrossPay, 0.001);
            Assert.AreEqual("Hold", pc.GetField("Disposition"));
            Assert.AreEqual(9.42 + 19.42, pc.Deductions, 0.001);
            Assert.AreEqual((8 * 15.24) - (9.42 + 19.42), pc.NetPay, 0.001);
        }
Beispiel #3
0
        public void TestAddServiceCharge()
        {
            int empid = 2;
            AddHourlyEmployee t = new AddHourlyEmployee(empid, "bill", "home", 15.25);
            t.Execute();
            Employee e = PayrollDatabase.GetEmployee(empid);
            Assert.IsNotNull(e);

            UnionAffiliation af=new UnionAffiliation();
            e.Affiliation = af;
            int memberId = 86;
            PayrollDatabase.AddUnionMember(memberId, e);

            ServiceChargeTransaction sct=new ServiceChargeTransaction(memberId,DateTime.Now.Date,12.95);
            sct.Execute();

            ServiceCharge sc = af.GetServiceCharge(DateTime.Now.Date);
            Assert.IsNotNull(sc);
            Assert.AreEqual(12.95,sc.Amount,.001);
        }