예제 #1
0
        public void Add_Salaried_Employee_Test()
        {
            int empId             = 4;
            AddSalariedEmployee t = new AddSalariedEmployee(empId, "Emp4", "Addr4", 4000);

            t.Execute();

            Employee e = EmployeeRepository.Employee(empId);

            Assert.AreEqual(e.Name, "Emp4");

            PaymentClassification pc = e.PaymentClassification;

            Assert.IsInstanceOfType(pc, typeof(SalariedClassification));

            PaymentSchedule ps = e.PaymentSchedule;

            Assert.IsInstanceOfType(ps, typeof(MonthlySchedule));

            Assert.AreEqual(e.PaymentClassification.Salary, 4000);

            PaymentMethod pm = e.PaymentMethod;

            Assert.IsInstanceOfType(pm, typeof(HoldMethod));
        }
예제 #2
0
        public void LoadHourlyEmployeeOneTimeCard()
        {
            employee.Schedule       = new WeeklySchedule();
            employee.Method         = new DirectDepositMethod("1st Bank", "0123456");
            employee.Classification = new HourlyClassification(180.50);
            database.AddEmployee(employee);

            DateTime            punchDate = new DateTime(2001, 11, 9); //Friday
            TimeCardTransaction tct       = new TimeCardTransaction(punchDate, 9.0, 123, database);

            tct.Execute();

            Employee loadedEmployee = database.GetEmployee(123);
            PaymentClassification classification = loadedEmployee.Classification;

            Assert.IsTrue(classification is HourlyClassification);

            HourlyClassification hourlyClassification = classification as HourlyClassification;

            Assert.AreEqual(180.50, hourlyClassification.HourlyRate, .01);

            var timeCards = hourlyClassification.TimeCards;

            Assert.AreEqual(1, timeCards.Count);

            var tc = timeCards[punchDate] as TimeCard;

            Assert.IsNotNull(tc);
            Assert.AreEqual(9.0, tc.Hours);
        }
예제 #3
0
        private void CreateCommissioned(DataRow row)
        {
            double baseRate       = Convert.ToDouble(row["Salary"]);
            double commissionRate = Convert.ToDouble(row["Commission"]);

            classification = new CommissionClassification(baseRate, commissionRate);
        }
예제 #4
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);
        }
예제 #5
0
        public void TestAddSalariedEmployee()
        {
            int empId             = 1;
            AddSalariedEmployee t = new AddSalariedEmployee(empId, "Bob", "Home", 1000.00, database);

            t.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.AreEqual("Bob", e.Name);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is SalariedClassification);

            SalariedClassification sc = pc as SalariedClassification;

            Assert.AreEqual(1000.00, sc.Salary, .001);

            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is MonthlySchedule);

            PaymentMethod pm = e.Method;

            Assert.IsTrue(pm is HoldMethod);
        }
예제 #6
0
        public void TestChangeHourlyTransaction()
        {
            int empId = 3;
            AddCommissionedEmployee t =
                new AddCommissionedEmployee(
                    empId, "Lance", "Home", 2500, 3.2, database);

            t.Execute();
            ChangeHourlyTransaction cht =
                new ChangeHourlyTransaction(empId, 27.52, database);

            cht.Execute();
            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);
            PaymentClassification pc = e.Classification;

            Assert.IsNotNull(pc);
            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            Assert.AreEqual(27.52, hc.HourlyRate, .001);
            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is WeeklySchedule);
        }
예제 #7
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);
        }
예제 #8
0
        public void TestAddCommisionedEmployee()
        {
            int empId = 1;
            var t     = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.0M, 50.0M);

            t.Execute();

            var e = Database.GetEmployee(empId);

            Assert.AreEqual("Bob", e.Name);

            PaymentClassification pc = e.GetClassification();

            CommissionedClassification sc = (CommissionedClassification)pc;

            Assert.AreEqual(sc.Salary, 1000.00M);
            Assert.AreEqual(sc.CommissionRate, 50.0M);

            PaymentSchedule ps = e.GetSchedule();

            Assert.IsInstanceOfType(ps, typeof(BiweeklySchedule));

            PaymentMethod pm = e.GetMethod();

            Assert.IsInstanceOfType(pm, typeof(HoldMethod));
        }
예제 #9
0
        public void PayDay(Paycheck paycheck)
        {
            paycheck.GrossPay   = PaymentClassification.CalculatePay(paycheck);
            paycheck.Deductions = Affiliation.CalculateDeductions(paycheck);

            PaymentMethod.Pay(paycheck);
        }
예제 #10
0
        public void TestSalesReceiptTransaction()
        {
            int empId = 2;
            var addTx = new AddCommissionedEmployee(empId, "Bill", "Home", 1000M, 3.2M);

            addTx.Execute();

            var salesReceiptTX = new SalesReceiptTransaction(1000M, new Date(10, 31, 2001), empId);

            salesReceiptTX.Execute();

            var employee = Database.GetEmployee(empId);

            Assert.IsNotNull(employee);

            PaymentClassification classification = employee.GetClassification();
            var commissionedClassification       = (CommissionedClassification)classification;

            var receipts = commissionedClassification.GetSalesReceiptsForDate(new Date(10, 31, 2001));

            Assert.AreEqual(1, receipts.Count, "Receipt count for date is not 1");
            var firstReceipt = receipts.First();

            Assert.AreEqual(1000M, firstReceipt.Amount);
        }
예제 #11
0
        public void TestAddHourlyEmployee()
        {
            int empId = 1;
            var t     = new AddHourlyEmployee(empId, "Bob", "Home", 10.0M);

            t.Execute();

            var e = Database.GetEmployee(empId);

            Assert.AreEqual("Bob", e.Name);

            PaymentClassification pc = e.GetClassification();

            HourlyClassification sc = (HourlyClassification)pc;

            Assert.AreEqual(sc.HourlyRate, 10.00M);

            PaymentSchedule ps = e.GetSchedule();

            Assert.IsInstanceOfType(ps, typeof(WeeklySchedule));

            PaymentMethod pm = e.GetMethod();

            Assert.IsInstanceOfType(pm, typeof(HoldMethod));
        }
예제 #12
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);
        }
예제 #13
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);
        }
예제 #14
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));
        }
예제 #15
0
        public void TestTimeCardTransaction()
        {
            int empId           = 5;
            AddHourlyEmployee t =
                new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database);

            t.Execute();
            TimeCardTransaction tct =
                new TimeCardTransaction(
                    new DateTime(2005, 7, 31), 8.0, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(new DateTime(2005, 7, 31));

            Assert.IsNotNull(tc);
            Assert.AreEqual(8.0, tc.Hours);
        }
        private void PrepareToSaveClassification(Employee employee)
        {
            PaymentClassification classification = employee.Classification;

            if (classification is HourlyClassification)
            {
                classificationCode = "hourly";
                HourlyClassification hourlyClassification = classification as HourlyClassification;
                insertClassificationCommand = CreateInsertHourlyClassificationCommand(hourlyClassification, employee);
            }
            else if (classification is SalariedClassification)
            {
                classificationCode = "salary";
                SalariedClassification salariedClassification = classification as SalariedClassification;
                insertClassificationCommand = CreateInsertSalariedClassificationCommand(salariedClassification, employee);
            }
            else if (classification is CommissionClassification)
            {
                classificationCode = "commission";
                CommissionClassification commissionClassification = classification as CommissionClassification;
                insertClassificationCommand = CreateInsertCommissionClassificationCommand(commissionClassification, employee);
            }
            else
            {
                classificationCode = "unknown";
            }
        }
예제 #17
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);
        }
예제 #18
0
        public void SalesReceiptTransaction()
        {
            int empId = 5;
            AddCommissionedEmployee t = new AddCommissionedEmployee(
                empId, "Bob", "Home", 1000.00, 10, database);

            t.Execute();

            SalesReceiptTransaction srt = new SalesReceiptTransaction(
                new DateTime(2005, 7, 31), 100.0, empId, database);

            srt.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is CommissionedClassification);
            CommissionedClassification cc = pc as CommissionedClassification;

            SalesReceipt sr = cc.GetSalesReceipt(new DateTime(2005, 7, 31));

            Assert.IsNotNull(sr);
            Assert.AreEqual(100, sr.Amount);
        }
예제 #19
0
        public void TestChangeSalaryTransaction()
        {
            int empId = 4;
            AddCommissionedEmployee t =
                new AddCommissionedEmployee(
                    empId, "Lance", "Home", 2500, 3.2, database);

            t.Execute();
            ChangeSalariedTransaction cst =
                new ChangeSalariedTransaction(empId, 3000.00, database);

            cst.Execute();
            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);
            PaymentClassification pc = e.Classification;

            Assert.IsNotNull(pc);
            Assert.IsTrue(pc is SalariedClassification);
            SalariedClassification sc = pc as SalariedClassification;

            Assert.AreEqual(3000.00, sc.Salary, .001);
            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is MonthlySchedule);
        }
        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);
        }
예제 #21
0
        public void TestAddHourlyEmployee()
        {
            int empId           = 2;
            AddHourlyEmployee t =
                new AddHourlyEmployee(empId, "Micah", "Home", 200.00, database);

            t.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.AreEqual("Micah", e.Name);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            Assert.AreEqual(200.00, hc.HourlyRate, .001);
            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is WeeklySchedule);

            PaymentMethod pm = e.Method;

            Assert.IsTrue(pm is HoldMethod);
        }
        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);
        }
예제 #23
0
        public void TestSalesReceiptTransaction()
        {
            int      empId            = 6;
            DateTime saleDate         = new DateTime(2017, 09, 07);
            AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Commissioned", "Sertãozinho", 1000, 10, database);

            t.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is CommissionedClassification);

            SalesReceiptTransaction srt = new SalesReceiptTransaction(empId, saleDate, 100.00, database);

            srt.Execute();

            CommissionedClassification cc = pc as CommissionedClassification;
            SalesReceipt sr = cc.GetSalesReceipt(saleDate);

            Assert.IsNotNull(sr);
            Assert.AreEqual(100.00, sr.SaleAmount, .001);
        }
        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);
        }
예제 #25
0
        public void LoadSalariedEmployee()
        {
            employee.Schedule       = new BiweeklySchedule();
            employee.Method         = new DirectDepositMethod("1st Bank", "0123456");
            employee.Classification = new SalariedClassification(5432.10);
            database.AddEmployee(employee);

            Employee loadedEmployee = database.GetEmployee(123);

            Assert.AreEqual(123, loadedEmployee.EmpId);
            Assert.AreEqual(employee.Name, loadedEmployee.Name);
            Assert.AreEqual(employee.Address, loadedEmployee.Address);
            PaymentSchedule schedule = loadedEmployee.Schedule;

            Assert.IsTrue(schedule is BiweeklySchedule);

            PaymentMethod method = loadedEmployee.Method;

            Assert.IsTrue(method is DirectDepositMethod);

            DirectDepositMethod ddMethod = method as DirectDepositMethod;

            Assert.AreEqual("1st Bank", ddMethod.Bank);
            Assert.AreEqual("0123456", ddMethod.Account);

            PaymentClassification classification = loadedEmployee.Classification;

            Assert.IsTrue(classification is SalariedClassification);

            SalariedClassification salariedClassification = classification as SalariedClassification;

            Assert.AreEqual(5432.10, salariedClassification.Salary, .01);
        }
        public void TestAddHourlyEmployee()
        {
            int empId           = 1;
            AddHourlyEmployee t = new AddHourlyEmployee(empId, "Bob", "Home", 13.00);

            t.Execute();

            Employee e = PayrollDatabase.GetEmployee(empId);

            Assert.AreEqual("Bob", e.Name);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);

            HourlyClassification cc = pc as HourlyClassification;

            Assert.AreEqual(13.00, cc.HourlyRate, .001);

            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is WeeklySchedule); // They are paid every Friday.

            PaymentMethod pm = e.Method;

            Assert.IsTrue(pm is HoldMethod);
        }
예제 #27
0
        public void LoadCommissionedClassificationOneSalesReceipt()
        {
            employee.Schedule       = new BiweeklySchedule();
            employee.Method         = new DirectDepositMethod("1st Bank", "0123456");
            employee.Classification = new CommissionedClassification(500.00, 80.30);
            database.AddEmployee(employee);

            var saleDay = new DateTime(2001, 11, 16);
            SalesReceiptTransaction srt = new SalesReceiptTransaction(saleDay, 3, 123, database);

            srt.Execute();

            Employee loadedEmployee = database.GetEmployee(123);
            PaymentClassification classification = loadedEmployee.Classification;

            Assert.IsTrue(classification is CommissionedClassification);

            CommissionedClassification commissionedClassification = classification as CommissionedClassification;

            Assert.AreEqual(500.00, commissionedClassification.Salary, .01);
            Assert.AreEqual(80.30, commissionedClassification.CommissionRate, .01);

            var salesReceipts = commissionedClassification.SalesReceipts;

            Assert.AreEqual(1, salesReceipts.Count);

            var sr = salesReceipts[saleDay] as SalesReceipt;

            Assert.IsNotNull(sr);
            Assert.AreEqual(3, sr.Amount);
        }
예제 #28
0
        public void TestTimeCardTransaction()
        {
            int empId = 31;
            var t     = new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database);

            t.Execute();

            var today = DateTime.UtcNow;
            var tct   = new TimeCardTransaction(today, 8.0, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(today);

            Assert.IsNotNull(tc);
            Assert.AreEqual(8.0, tc.Hours);
        }
예제 #29
0
        public void TestTimeCardTransaction()
        {
            int empId           = 5;
            AddHourlyEmployee t = new AddHourlyEmployee(empId, "Kubing", "Home", 15.25, database);

            t.Execute();

            var punchDay            = new DateTime(2005, 7, 31);
            TimeCardTransaction tct = new TimeCardTransaction(punchDay, 8.0, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);

            HourlyClassification hc = pc as HourlyClassification;
            var timeCards           = database.GetTimeCards(empId).ToList();
            var tc = timeCards.FirstOrDefault(x => x.Date == punchDay);

            Assert.IsNotNull(tc);
            Assert.AreEqual(8.0, tc.Hours);
        }
예제 #30
0
        public void TestAddCommissionEmployee()
        {
            int empId = 1;
            AddCommissionedEmployee t = new AddCommissionedEmployee(empId, "Bob", "Home", 1000.00, 500.00);

            t.Execute();
            Employee e = PayrollDatabase.GetEmployee(empId);

            Assert.AreEqual("Bob", e.Name);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is CommissionedClassification);
            CommissionedClassification sc = pc as CommissionedClassification;

            Assert.AreEqual(1000, sc.Salary);
            Assert.AreEqual(500, sc.CommissionRate);

            PaymentSchedule ps = e.Schedule;

            Assert.IsTrue(ps is BiweeklySchedule);
            PaymentMethod pm = e.Method;

            Assert.IsTrue(pm is HoldMethod);
        }