⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtimesheetutils.java

📁 一个很好的开源项目管理系统源代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        assertEquals(new BigDecimal("280.00"), timeEntry.getLineTotalAmt());    }    public void testCalculateTimeEntryLineAmount_multipleRates()            throws Exception {        TimeEntry timeEntry = new TimeEntry();        timeEntry.setTimesheetId(new Long(1));        timeEntry.setWorkId(new Long(1));        timeEntry.setRateTypeCd("RT");        timeEntry.setDay0(new BigDecimal("1.00"));        timeEntry.setDay1(new BigDecimal("2.00"));        timeEntry.setDay2(new BigDecimal("3.00"));        timeEntry.setDay3(new BigDecimal("4.00"));        timeEntry.setDay4(new BigDecimal("5.00"));        timeEntry.setDay5(new BigDecimal("6.00"));        timeEntry.setDay6(new BigDecimal("7.00"));        List partyRateList = new ArrayList();        PartyRate pr2 = new PartyRate();        pr2.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr2.setThruDt(timesheetUtils                .convertStringToDate("20050614", "yyyyMMdd"));        pr2.setRateTypeCd("RT");        pr2.setRate(new BigDecimal(20.00));        pr2.setRateCur("USD");        pr2.setPartyCd("xyz");        partyRateList.add(pr2);        PartyRate pr3 = new PartyRate();        pr3.setFromDt(timesheetUtils                .convertStringToDate("20050615", "yyyyMMdd"));        pr3.setRateTypeCd("RT");        pr3.setRate(new BigDecimal(10.00));        pr3.setRateCur("USD");        pr3.setPartyCd("xyz");        partyRateList.add(pr3);        Date fromDt = timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd");        timesheetUtils.calculateTimeEntryLineAmount(timeEntry, partyRateList,                fromDt, 7);        assertEquals(new BigDecimal("310.00"), timeEntry.getLineTotalAmt());    }    public void testCalculateTimeEntryLineAmount_someDaysWithNoHours()            throws Exception {        List partyRateList = new ArrayList();        PartyRate pr2 = new PartyRate();        pr2.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr2.setThruDt(timesheetUtils                .convertStringToDate("20050614", "yyyyMMdd"));        pr2.setRateTypeCd("RT");        pr2.setRate(new BigDecimal(20.00));        pr2.setRateCur("USD");        pr2.setPartyCd("xyz");        partyRateList.add(pr2);        PartyRate pr3 = new PartyRate();        pr3.setFromDt(timesheetUtils                .convertStringToDate("20050615", "yyyyMMdd"));        pr3.setRateTypeCd("RT");        pr3.setRate(new BigDecimal(10.00));        pr3.setRateCur("USD");        pr3.setPartyCd("xyz");        partyRateList.add(pr3);        // test with some days with no hours entered        TimeEntry timeEntry = new TimeEntry();        timeEntry.setTimesheetId(new Long(1));        timeEntry.setWorkId(new Long(1));        timeEntry.setRateTypeCd("RT");        timeEntry.setDay0(new BigDecimal("1.00"));        timeEntry.setDay2(new BigDecimal("0.00"));        timeEntry.setDay4(new BigDecimal("5.00"));        timeEntry.setDay6(new BigDecimal("7.00"));        Date fromDt = timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd");        timesheetUtils.calculateTimeEntryLineAmount(timeEntry, partyRateList,                fromDt, 7);        assertEquals(new BigDecimal("140.00"), timeEntry.getLineTotalAmt());    }    public void testCalculateTimeEntryLineAmount_dayAmountCurrencyMismatch()            throws Exception {        TimeEntry timeEntry = new TimeEntry();        timeEntry.setTimesheetId(new Long(1));        timeEntry.setWorkId(new Long(1));        timeEntry.setRateTypeCd("RT");        timeEntry.setDay0(new BigDecimal("1.00"));        timeEntry.setDay1(new BigDecimal("2.00"));        timeEntry.setDay2(new BigDecimal("3.00"));        timeEntry.setDay3(new BigDecimal("4.00"));        timeEntry.setDay4(new BigDecimal("5.00"));        timeEntry.setDay5(new BigDecimal("6.00"));        timeEntry.setDay6(new BigDecimal("7.00"));        List partyRateList = new ArrayList();        PartyRate pr2 = new PartyRate();        pr2.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr2.setThruDt(timesheetUtils                .convertStringToDate("20050614", "yyyyMMdd"));        pr2.setRateTypeCd("RT");        pr2.setRate(new BigDecimal(20.00));        pr2.setRateCur("USD");        pr2.setPartyCd("xyz");        partyRateList.add(pr2);        PartyRate pr3 = new PartyRate();        pr3.setFromDt(timesheetUtils                .convertStringToDate("20050615", "yyyyMMdd"));        pr3.setRateTypeCd("RT");        pr3.setRate(new BigDecimal(10.00));        pr3.setRateCur("CAD");        pr3.setPartyCd("xyz");        partyRateList.add(pr3);        Date fromDt = timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd");        try {            timesheetUtils.calculateTimeEntryLineAmount(timeEntry,                    partyRateList, fromDt, 7);            fail("A CurrencyMismatchException should be raised.");        }        catch (CurrencyMismatchException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_weekly_noTimeEntrySuccess()            throws Exception {        // test for timesheet with no time entries        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050613",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050619",                "yyyyMMdd"));        PartyRate pr1 = new PartyRate();        pr1.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        timesheet.setTimeEntries(null);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("0.00"), timesheet.getTotalAmt());    }    public void testCalculateTimesheetAmount_weekly_multipleTimeEntrySuccess()            throws Exception {        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050613",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050619",                "yyyyMMdd"));        PartyRate pr1 = new PartyRate();        pr1.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        List timeEntryList = new ArrayList();        // test for timesheet with multiple timeEntries lines.        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        te1.setDay0(new BigDecimal("1.00"));        te1.setDay1(new BigDecimal("2.00"));        te1.setDay2(new BigDecimal("3.00"));        te1.setDay3(new BigDecimal("4.00"));        te1.setDay4(new BigDecimal("5.00"));        te1.setDay5(new BigDecimal("6.00"));        te1.setDay6(new BigDecimal("7.00"));        timeEntryList.add(te1);        TimeEntry te2 = new TimeEntry();        te2.setTimesheetId(new Long(1));        te2.setWorkId(new Long(2));        te2.setRateTypeCd("RT");        te2.setDay0(new BigDecimal("1.00"));        te2.setDay1(new BigDecimal("2.00"));        te2.setDay2(new BigDecimal("3.00"));        te2.setDay6(new BigDecimal("7.00"));        timeEntryList.add(te2);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("410.00"), timesheet.getTotalAmt());        TimeEntry ter = (TimeEntry) timeEntryList.get(0);        assertEquals(new BigDecimal("280.00"), ter.getLineTotalAmt());        ter = (TimeEntry) timeEntryList.get(1);        assertEquals(new BigDecimal("130.00"), ter.getLineTotalAmt());    }    public void testCalculateTimesheetAmount_weekly_mulitpleTimeEntryWithOneEntryWithoutHoursSuccess()            throws Exception {        // test with multiple time entries with one time entry line having no        // hours.        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050613",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050619",                "yyyyMMdd"));        List timeEntryList = new ArrayList();        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        te1.setDay0(new BigDecimal("1.00"));        te1.setDay1(new BigDecimal("2.00"));        te1.setDay2(new BigDecimal("3.00"));        te1.setDay3(new BigDecimal("4.00"));        te1.setDay4(new BigDecimal("5.00"));        te1.setDay5(new BigDecimal("6.00"));        te1.setDay6(new BigDecimal("7.00"));        timeEntryList.add(te1);        TimeEntry te3 = new TimeEntry();        te3.setTimesheetId(new Long(1));        te3.setWorkId(new Long(3));        te3.setRateTypeCd("RT");        timeEntryList.add(te3);        List partyRateList = new ArrayList();        PartyRate pr1 = new PartyRate();        pr1.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        partyRateList.add(pr1);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("280.00"), timesheet.getTotalAmt());        TimeEntry ter = (TimeEntry) timeEntryList.get(0);        assertEquals(new BigDecimal("280.00"), ter.getLineTotalAmt());        ter = (TimeEntry) timeEntryList.get(1);        assertEquals(new BigDecimal("0.00"), ter.getLineTotalAmt());    }    public void testCalculateTimesheetAmount_weekly_invalidPeriod()            throws Exception {        // invalid timesheet period.        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050614",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050620",                "yyyyMMdd"));        try {            timesheetUtils.calculateTimesheetAmount(timesheet, null);            fail("A InvalidTimesheetPeriodException should be raised.");        }        catch (InvalidTimesheetPeriodException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_semiMonthly_invalidPeriod()            throws Exception {        timesheetUtils.setTimesheetPeriod(TimesheetUtils.SEMI_MONTHLY);        // invalid timesheet period.        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050601",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050616",                "yyyyMMdd"));        try {            timesheetUtils.calculateTimesheetAmount(timesheet, null);            fail("A InvalidTimesheetPeriodException should be raised.");        }        catch (InvalidTimesheetPeriodException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_semiMonthly_singleTimeEntrySuccess()            throws Exception {        timesheetUtils.setTimesheetPeriod(TimesheetUtils.SEMI_MONTHLY);        Timesheet timesheet = new Timesheet();        timesheet.setTimesheetId(new Long(1));        timesheet.setPartyCd("xyz");        timesheet.setFromDt(timesheetUtils.convertStringToDate("20050516",                "yyyyMMdd"));        timesheet.setThruDt(timesheetUtils.convertStringToDate("20050531",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -