1 /* ==================================================================== 2 * The Apache Software License, Version 1.1 3 * 4 * Copyright (c) 2003 Digital Clash LLC. All rights 5 * reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in 16 * the documentation and/or other materials provided with the 17 * distribution. 18 * 19 * 3. The end-user documentation included with the redistribution, 20 * if any, must include the following acknowledgment: 21 * "This product includes software developed by the 22 * ChronicJ team (http://www.chronicj.org/)." 23 * Alternately, this acknowledgment may appear in the software itself, 24 * if and wherever such third-party acknowledgments normally appear. 25 * 26 * 4. The names "ChronicJ" and "Digital Clash" not be used to endorse or 27 * promote products derived from this software without prior written 28 * permission. For written permission, please contact 29 * info@digitalclash.com. 30 * 31 * 5. Products derived from this software may not be called "ChronicJ", 32 * "Digital Clash", nor may "ChronicJ" or "Digital Clash" appear in 33 * their name, without prior written permission of Digital Clash LLC. 34 * 35 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 36 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 37 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 38 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 39 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 42 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 43 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 44 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 45 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 46 * SUCH DAMAGE. 47 * ==================================================================== 48 * This product includes software developed by the by the 49 * Apache Software Foundation (http://www.apache.org/). 50 * ==================================================================== 51 */ 52 package org.chronicj.impl; 53 54 import org.chronicj.DatePrecision; 55 import org.chronicj.TemporalExpression; 56 import org.chronicj.TemporalExpressionTest; 57 import org.chronicj.TimePoint; 58 59 60 /*** 61 * JUnit Test for RangeEachDayTE that extends and implements {@link 62 * org.chronicj.TemporalExpressionTest}. 63 * 64 * @author <a href="mlipper@US-ABP.com">Matthew Lipper</a> 65 * 66 * @see <a href="http://junit.org">JUnit</a> 67 */ 68 public class RangeEachDayTETest extends TemporalExpressionTest { 69 /* (non-Javadoc) 70 * @see org.chronicj.TemporalExpressionTest#initExpressionsAndResults(org.chronicj.DatePrecision) 71 */ 72 protected void initExpressionsAndResults(DatePrecision precision) 73 throws Exception { 74 testExpression = new TemporalExpression[3]; 75 76 if (DatePrecision.HOUR_OF_DAY.equals(precision)) { 77 expectedTimePoint = new TimePoint[3][2]; 78 notExpectedTimePoint = new TimePoint[3][2]; 79 80 /* ######## 2pm to 5pm ######## */ 81 testExpression[0] = new RangeEachDayTE(14, 00, 17, 00); 82 83 //3:30pm (December 15th, 2003) 84 expectedTimePoint[0][0] = new TimePoint(2003, 12, 15, 15, 30); 85 86 //2:00pm (August 4th, 1902) 87 expectedTimePoint[0][1] = new TimePoint(1902, 8, 4, 14, 00); 88 89 //5:02pm (December 15th, 2003) 90 notExpectedTimePoint[0][0] = new TimePoint(2003, 12, 15, 17, 02); 91 92 //12:00pm (February 29th, 2000) Leap year! 93 notExpectedTimePoint[0][1] = new TimePoint(2000, 2, 29, 12, 00); 94 95 /* ######## 11:44pm to 1:59am ######## */ 96 testExpression[1] = new RangeEachDayTE(23, 44, 1, 59); 97 98 //12:15am (January 1st, 2003) 99 expectedTimePoint[1][0] = new TimePoint(2003, 1, 1, 00, 15); 100 101 //12:00am (March 1st, 1600AD) Leap year! 102 expectedTimePoint[1][1] = new TimePoint(1600, 3, 1, 00, 00); 103 104 //2:00am (December 31st, 1999) 105 notExpectedTimePoint[1][0] = new TimePoint(1999, 12, 31, 2, 00); 106 107 //11:43pm (April 19th, 2112) 108 notExpectedTimePoint[1][1] = new TimePoint(2112, 4, 19, 11, 43); 109 110 /* ######## Match everything ######## */ 111 //12am (midnight) to 12am (midnight) 112 testExpression[2] = new RangeEachDayTE(00, 00, 00, 00); 113 114 //12:00pm (noon, December 31st, 2003) 115 expectedTimePoint[2][0] = new TimePoint(2003, 12, 31, 12, 00); 116 117 //8:30pm (July 10th, 1983) 118 expectedTimePoint[2][1] = new TimePoint(1983, 7, 10, 20, 30); 119 120 //expression matches everything 121 notExpectedTimePoint[2][0] = null; 122 notExpectedTimePoint[2][1] = null; 123 } 124 } 125 126 /* (non-Javadoc) 127 * @see org.chronicj.TemporalExpressionTest#supports(org.chronicj.DatePrecision) 128 */ 129 protected boolean supports(DatePrecision precision) 130 throws Exception { 131 if (DatePrecision.HOUR_OF_DAY.equals(precision)) { 132 return true; 133 } 134 135 return false; 136 } 137 }

This page was automatically generated by Maven