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

📄 segmentedtimelinetests.java

📁 这是一个segy数据显示程序
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            if (fmt instanceof NumberFormat) {                e = ((NumberFormat) fmt).parse(exceptionString[i]).longValue();            }            else {                e = timeline.getTime(((SimpleDateFormat) fmt).parse(exceptionString[i]));            }            timeline.addBaseTimelineException(e);            // verify all timeline segments included in the baseTimeline.segment are now exceptions            SegmentedTimeline.Segment segment1 = baseTimeline.getSegment(e);            for (SegmentedTimeline.Segment segment2                 = timeline.getSegment(segment1.getSegmentStart());                 segment2.getSegmentStart() <= segment1.getSegmentEnd();                 segment2.inc()) {                if (!segment2.inExcludeSegments()) {                    assertTrue(segment2.inExceptionSegments());                }            }        }    }    /**     * Adds new exceptions to a timeline. The exceptions are the excluded segments from its     * base timeline.     *     * @param timeline  the timeline.     * @param from  the start.     * @param to  the end.     */    private void fillInBaseTimelineExclusionsAsExceptions(SegmentedTimeline timeline,                                                           long from, long to) {        // add the base timeline exclusions as timeline's esceptions        timeline.addBaseTimelineExclusions(from, to);        // validate base timeline exclusions added as timeline's esceptions        for (SegmentedTimeline.Segment segment1 = timeline.getBaseTimeline().getSegment(from);             segment1.getSegmentStart() <= to;             segment1.inc()) {            if (segment1.inExcludeSegments()) {                // verify all timeline segments included in the baseTimeline.segment are now                 // exceptions                for (SegmentedTimeline.Segment segment2                      = timeline.getSegment(segment1.getSegmentStart());                     segment2.getSegmentStart() <= segment1.getSegmentEnd();                     segment2.inc()) {                    if (!segment2.inExcludeSegments()) {                        assertTrue(segment2.inExceptionSegments());                    }                }            }        }    }    /**     * Confirm that cloning works.     */    public void testCloning() {        SegmentedTimeline l1 = new SegmentedTimeline(1000, 5, 2);        SegmentedTimeline l2 = null;        try {            l2 = (SegmentedTimeline) l1.clone();        }        catch (CloneNotSupportedException e) {            System.err.println("SegmentedTimelineTests2.testCloning: failed to clone.");        }        assertTrue(l1 != l2);        assertTrue(l1.getClass() == l2.getClass());        assertTrue(l1.equals(l2));    }    /**     * Confirm that the equals method can distinguish all the required fields.     */    public void testEquals() {                SegmentedTimeline l1 = new SegmentedTimeline(1000, 5, 2);        SegmentedTimeline l2 = new SegmentedTimeline(1000, 5, 2);        assertTrue(l1.equals(l2));                l1 = new SegmentedTimeline(1000, 5, 2);        l2 = new SegmentedTimeline(1001, 5, 2);        assertFalse(l1.equals(l2));                l1 = new SegmentedTimeline(1000, 5, 2);        l2 = new SegmentedTimeline(1000, 4, 2);        assertFalse(l1.equals(l2));                l1 = new SegmentedTimeline(1000, 5, 2);        l2 = new SegmentedTimeline(1000, 5, 1);        assertFalse(l1.equals(l2));                l1 = new SegmentedTimeline(1000, 5, 2);        l2 = new SegmentedTimeline(1000, 5, 2);                // start time...        l1.setStartTime(1234L);        assertFalse(l1.equals(l2));        l2.setStartTime(1234L);        assertTrue(l1.equals(l2));    }        /**     * Serialize an instance, restore it, and check for equality.     */    public void testSerialization2() {        SegmentedTimeline l1 = new SegmentedTimeline(1000, 5, 2);        SegmentedTimeline l2 = null;        try {            ByteArrayOutputStream buffer = new ByteArrayOutputStream();            ObjectOutput out = new ObjectOutputStream(buffer);            out.writeObject(l1);            out.close();            ObjectInput in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));            l2 = (SegmentedTimeline) in.readObject();            in.close();        }        catch (Exception e) {            System.out.println(e.toString());        }        boolean b = l1.equals(l2);        assertTrue(b);    }    //////////////////////////////////////////////////////////////////////////    // utility methods    //////////////////////////////////////////////////////////////////////////    /**     * Formats a Calendar object avoiding converting into a Date so the local     * TimeZone is not used to convert the output. The Calendar object used as     * parameter is assumed to use the SegmentedTimeline.TIME_ZONE time zone.     *     * @param cal Calendar object to format     * @return     */    /*    private String calToString(Calendar cal) {        DecimalFormat fmt2 = new DecimalFormat("00");        DecimalFormat fmt4 = new DecimalFormat("0000");        return (getDayOfWeekString(cal)+" "+                fmt2.format(cal.get(Calendar.MONTH)+1)+"/"+                fmt2.format(cal.get(Calendar.DATE))+"/"+                fmt4.format(cal.get(Calendar.YEAR))+" "+                fmt2.format(cal.get(Calendar.HOUR_OF_DAY))+":"+                fmt2.format(cal.get(Calendar.MINUTE))+":"+                fmt2.format(cal.get(Calendar.SECOND))+":"+                fmt4.format(cal.get(Calendar.MILLISECOND)));    }    */    /**     * Formats time avoiding converting into a Date so the local     * TimeZone is not used to convert the output. The time used as     * parameter is assumed to be relative to SegmentedTimeline.TIME_ZONE time zone.     *     * @param time time to format     * @return     */    /*    private String calToString(long time) {        Calendar cal = new GregorianCalendar(SegmentedTimeline.NO_DST_TIME_ZONE);        cal.setTimeInMillis(time);        return (calToString(cal));    }    */    /**     * Returns a three letter day of the week string for Calendar formatting.     * @param cal Calendar to check     * @return     */    /*    private String getDayOfWeekString(Calendar cal) {        switch (cal.get(Calendar.DAY_OF_WEEK)) {            case Calendar.SUNDAY:    return ("Sun");            case Calendar.MONDAY:    return ("Mon");            case Calendar.TUESDAY:   return ("Tue");            case Calendar.WEDNESDAY: return ("Wed");            case Calendar.THURSDAY:  return ("Thu");            case Calendar.FRIDAY:    return ("Fri");            case Calendar.SATURDAY:  return ("Sat");            default:                 return ("???");        }    }    */    /**     * Tests a basic segmented timeline.     */    public void testBasicSegmentedTimeline() {        SegmentedTimeline stl = new SegmentedTimeline(10, 2, 3);        stl.setStartTime(946684800000L);  // 1-Jan-2000        assertFalse(stl.containsDomainValue(946684799999L));        assertTrue(stl.containsDomainValue(946684800000L));        assertTrue(stl.containsDomainValue(946684800019L));        assertFalse(stl.containsDomainValue(946684800020L));        assertFalse(stl.containsDomainValue(946684800049L));        assertTrue(stl.containsDomainValue(946684800050L));        assertTrue(stl.containsDomainValue(946684800069L));        assertFalse(stl.containsDomainValue(946684800070L));        assertFalse(stl.containsDomainValue(946684800099L));        assertTrue(stl.containsDomainValue(946684800100L));                assertEquals(0, stl.toTimelineValue(946684800000L));        assertEquals(19, stl.toTimelineValue(946684800019L));        assertEquals(20, stl.toTimelineValue(946684800020L));        assertEquals(20, stl.toTimelineValue(946684800049L));        assertEquals(20, stl.toTimelineValue(946684800050L));        assertEquals(39, stl.toTimelineValue(946684800069L));        assertEquals(40, stl.toTimelineValue(946684800070L));        assertEquals(40, stl.toTimelineValue(946684800099L));        assertEquals(40, stl.toTimelineValue(946684800100L));                assertEquals(946684800000L, stl.toMillisecond(0));        assertEquals(946684800019L, stl.toMillisecond(19));        assertEquals(946684800050L, stl.toMillisecond(20));        assertEquals(946684800069L, stl.toMillisecond(39));        assertEquals(946684800100L, stl.toMillisecond(40));            }        /**     * Tests a basic time line with one exception.     */    public void testSegmentedTimelineWithException1() {        SegmentedTimeline stl = new SegmentedTimeline(10, 2, 3);        stl.setStartTime(946684800000L);  // 1-Jan-2000        stl.addException(946684800050L);                assertFalse(stl.containsDomainValue(946684799999L));        assertTrue(stl.containsDomainValue(946684800000L));        assertTrue(stl.containsDomainValue(946684800019L));        assertFalse(stl.containsDomainValue(946684800020L));        assertFalse(stl.containsDomainValue(946684800049L));        assertFalse(stl.containsDomainValue(946684800050L));        assertFalse(stl.containsDomainValue(946684800059L));        assertTrue(stl.containsDomainValue(946684800060L));        assertTrue(stl.containsDomainValue(946684800069L));        assertFalse(stl.containsDomainValue(946684800070L));        assertFalse(stl.containsDomainValue(946684800099L));        assertTrue(stl.containsDomainValue(946684800100L));        //long v = stl.toTimelineValue(946684800020L);        assertEquals(0, stl.toTimelineValue(946684800000L));        assertEquals(19, stl.toTimelineValue(946684800019L));        assertEquals(20, stl.toTimelineValue(946684800020L));        assertEquals(20, stl.toTimelineValue(946684800049L));        assertEquals(20, stl.toTimelineValue(946684800050L));        assertEquals(29, stl.toTimelineValue(946684800069L));        assertEquals(30, stl.toTimelineValue(946684800070L));        assertEquals(30, stl.toTimelineValue(946684800099L));        assertEquals(30, stl.toTimelineValue(946684800100L));        assertEquals(946684800000L, stl.toMillisecond(0));        assertEquals(946684800019L, stl.toMillisecond(19));        assertEquals(946684800060L, stl.toMillisecond(20));        assertEquals(946684800069L, stl.toMillisecond(29));        assertEquals(946684800100L, stl.toMillisecond(30));    }        //////////////////////////////////////////////////////////////////////////    // main method only for debug    //////////////////////////////////////////////////////////////////////////    /**     * Only use to debug JUnit suite.     *      * @param args  ignored.     *      * @throws Exception if there is some problem.     */    public static void main(String[] args) throws Exception {        SegmentedTimelineTests test = new SegmentedTimelineTests("Test");        test.setUp();        test.testMondayThoughFridayExceptionSegments();        test.tearDown();    }}

⌨️ 快捷键说明

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