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

📄 testtimesheetutils.java

📁 一个很好的开源项目管理系统源代码
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
                "yyyyMMdd"));        PartyRate pr1 = new PartyRate();        pr1.setFromDt(timesheetUtils                .convertStringToDate("20050501", "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("8.00"));        te1.setDay1(new BigDecimal("8.00"));        te1.setDay2(new BigDecimal("8.00"));        te1.setDay3(new BigDecimal("8.00"));        te1.setDay4(new BigDecimal("8.00"));        te1.setDay5(new BigDecimal("0.00"));        te1.setDay6(new BigDecimal("0.00"));        te1.setDay7(new BigDecimal("8.00"));        te1.setDay8(new BigDecimal("8.00"));        te1.setDay9(new BigDecimal("8.00"));        te1.setDay10(new BigDecimal("8.00"));        te1.setDay11(new BigDecimal("8.00"));        te1.setDay12(new BigDecimal("8.00"));        te1.setDay13(new BigDecimal("8.00"));        te1.setDay14(new BigDecimal("8.00"));        te1.setDay15(new BigDecimal("8.00"));        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("1120.00"), timesheet.getTotalAmt());    }    public void testCalculateTimesheetAmount_rateStartingInBetweenPeriodSuccess()            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("20050615", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        // note zeros are ok before the rate start date of 15th        te1.setDay0(new BigDecimal("0.00"));        // nothing for day1        // hours on and after 15th the rate start date        te1.setDay2(new BigDecimal("8.00"));        te1.setDay3(new BigDecimal("8.00"));        te1.setDay4(new BigDecimal("8.00"));        te1.setDay5(new BigDecimal("8.00"));        te1.setDay6(new BigDecimal("8.00"));        List timeEntryList = new ArrayList();        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("400.00"), timesheet.getTotalAmt());    }    public void testCalculateTimesheetAmount_rateStartingInBetweenPeriodFailure()            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("20050615", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        // hours for the 13th which is before the rate start date will cause        // failure        te1.setDay0(new BigDecimal("8.00"));        List timeEntryList = new ArrayList();        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        try {            timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);            fail("Should raise RateNotFoundException");        }        catch (RateNotFoundException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_rateEndingInBetweenPeriodSucess()            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.setThruDt(timesheetUtils                .convertStringToDate("20050615", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        te1.setDay0(new BigDecimal("8.00"));        te1.setDay1(new BigDecimal("8.00"));        te1.setDay2(new BigDecimal("8.00"));        // zeros after rate end date are OK.        te1.setDay3(new BigDecimal("0.00"));        te1.setDay4(new BigDecimal("0.00"));        te1.setDay5(new BigDecimal("0.00"));        te1.setDay6(new BigDecimal("0.00"));        List timeEntryList = new ArrayList();        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("240.00"), timesheet.getTotalAmt());    }    public void testCalculateTimesheetAmount_rateEndingInBetweenPeriodFailure()            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.setThruDt(timesheetUtils                .convertStringToDate("20050615", "yyyyMMdd"));        pr1.setRateTypeCd("RT");        pr1.setRate(new BigDecimal(10.00));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        TimeEntry te1 = new TimeEntry();        te1.setTimesheetId(new Long(1));        te1.setWorkId(new Long(1));        te1.setRateTypeCd("RT");        te1.setDay0(new BigDecimal("8.00"));        te1.setDay1(new BigDecimal("8.00"));        te1.setDay2(new BigDecimal("8.00"));        // hours for 16th will cause failure        te1.setDay3(new BigDecimal("8.00"));        List timeEntryList = new ArrayList();        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        try {            timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);            fail("Should raise RateNotFoundException");        }        catch (RateNotFoundException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_multipleTimeEntryCurrencyMismatch()            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);        PartyRate pr2 = new PartyRate();        pr2.setFromDt(timesheetUtils                .convertStringToDate("20050613", "yyyyMMdd"));        pr2.setRateTypeCd("OT");        pr2.setRate(new BigDecimal(10.00));        pr2.setRateCur("CAD");        pr2.setPartyCd("xyz");        partyRateList.add(pr2);        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 te2 = new TimeEntry();        te2.setTimesheetId(new Long(1));        te2.setWorkId(new Long(2));        te2.setRateTypeCd("OT");        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);        try {            timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);            fail("Should raise CurrencyMismatchException");        }        catch (CurrencyMismatchException expected) {            assertTrue(true);        }    }    public void testCalculateTimesheetAmount_RateIsZeroSuccess()            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("0.00"));        pr1.setRateCur("USD");        pr1.setPartyCd("xyz");        List partyRateList = new ArrayList();        partyRateList.add(pr1);        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("0.00"));        timeEntryList.add(te1);        timesheet.setTimeEntries(timeEntryList);        timesheetUtils.calculateTimesheetAmount(timesheet, partyRateList);        assertEquals(new BigDecimal("0.00"), timesheet.getTotalAmt());    }}

⌨️ 快捷键说明

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