Added: hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java?rev=929330&view=auto ============================================================================== --- hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java (added) +++ hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/convert/TestConvertDateTime.java Tue Mar 30 22:53:20 2010 @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.pig.piggybank.test.evaluation.datetime.convert; + +import org.apache.pig.data.Tuple; +import org.apache.pig.data.TupleFactory; +import org.apache.pig.piggybank.evaluation.datetime.convert.*; +import org.junit.Test; + +import junit.framework.TestCase; + +public class TestConvertDateTime extends TestCase { + @Test + public void testUnixToISO() throws Exception { + + // Verify that (long) unix datetimes convert to ISO datetimes + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, 1231290421000L); + + UnixToISO func = new UnixToISO(); + String iso = func.exec(t1); + + assertTrue(iso.equals("2009-01-07T01:07:01.000Z")); + } + + @Test + public void testISOToUnix() throws Exception { + + // Verify that ISO string datetimes convert to Unix (long) datetimes + Tuple t2 = TupleFactory.getInstance().newTuple(1); + t2.set(0, "2009-01-07T01:07:01.000Z"); + ISOToUnix func2 = new ISOToUnix(); + Long unix = func2.exec(t2); + + assertTrue(unix == 1231290421000L); + + } + + @Test + public void testCustomFormatToISO() throws Exception { + + Tuple t = TupleFactory.getInstance().newTuple(2); + t.set(0, "10/10/2010"); + t.set(1, "dd/MM/yyyy"); + CustomFormatToISO func = new CustomFormatToISO(); + String iso = func.exec(t); + + assertTrue(iso.equals("2010-10-10T00:00:00.000Z")); + } +}
Added: hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/diff/TestDiffDateTime.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/diff/TestDiffDateTime.java?rev=929330&view=auto ============================================================================== --- hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/diff/TestDiffDateTime.java (added) +++ hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/diff/TestDiffDateTime.java Tue Mar 30 22:53:20 2010 @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.pig.piggybank.test.evaluation.datetime.diff; + +import org.apache.pig.data.Tuple; +import org.apache.pig.data.TupleFactory; +import org.apache.pig.piggybank.evaluation.datetime.diff.*; +import org.junit.Assert; +import org.junit.Test; + +import junit.framework.TestCase; + +public class TestDiffDateTime { + + @Test + public void testYearDiff() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(2); + t1.set(0, "2009-01-07T01:07:01.000Z"); + t1.set(1, "2002-01-01T00:00:00.000Z"); + + ISOYearsBetween func = new ISOYearsBetween(); + Long years = func.exec(t1); + + System.out.println("Years: " + years.toString()); + + Assert.assertTrue(years == 7L); + } + + @Test + public void testMonthDiff() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(2); + t1.set(0, "2009-01-07T00:00:00.000Z"); + t1.set(1, "2002-01-01T00:00:00.000Z"); + + ISOMonthsBetween func = new ISOMonthsBetween(); + Long months = func.exec(t1); + + System.out.println("Months: " + months.toString()); + + Assert.assertTrue(months == 84L); + } + + @Test + public void testDayDiff() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(2); + t1.set(0, "2009-01-07T00:00:00.000Z"); + t1.set(1, "2002-01-01T00:00:00.000Z"); + + ISODaysBetween func = new ISODaysBetween(); + Long days = func.exec(t1); + + System.out.println("Days: " + days.toString()); + + Assert.assertTrue(days == 2563L); + } + + @Test + public void testMinuteDiff() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(2); + t1.set(0, "2009-01-07T00:00:00.000Z"); + t1.set(1, "2002-01-01T00:00:00.000Z"); + + ISOMinutesBetween func = new ISOMinutesBetween(); + Long mins = func.exec(t1); + + System.out.println("Minutes: " + mins.toString()); + + Assert.assertTrue(mins == 3690720L); + } + + @Test + public void testSecondsDiff() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(2); + t1.set(0, "2009-01-07T00:00:00.000Z"); + t1.set(1, "2002-01-01T00:00:00.000Z"); + + ISOSecondsBetween func = new ISOSecondsBetween(); + Long secs = func.exec(t1); + + System.out.println("Seconds: " + secs.toString()); + + Assert.assertTrue(secs == 221443200L); + } +} Added: hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java?rev=929330&view=auto ============================================================================== --- hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java (added) +++ hadoop/pig/branches/branch-0.7/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/evaluation/datetime/truncate/TestTruncateDateTime.java Tue Mar 30 22:53:20 2010 @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.pig.piggybank.test.evaluation.datetime.truncate; + +import org.apache.pig.data.Tuple; +import org.apache.pig.data.TupleFactory; +import org.apache.pig.piggybank.evaluation.datetime.truncate.*; +import org.junit.Test; + +import junit.framework.TestCase; + +public class TestTruncateDateTime extends TestCase { + + @Test + public void testToYear() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToYear func = new ISOToYear(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-01-01T00:00:00.000Z")); + } + + @Test + public void testToMonth() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToMonth func = new ISOToMonth(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-04-01T00:00:00.000Z")); + } + + @Test + public void testToWeek() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToWeek func = new ISOToWeek(); + String truncated = func.exec(t1); + + System.out.println("Truncateed week: " + truncated); + + assertTrue(truncated.equals("2010-04-12T00:00:00.000Z")); + } + + @Test + public void testToDay() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToDay func = new ISOToDay(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-04-15T00:00:00.000Z")); + } + + @Test + public void testToHour() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToHour func = new ISOToHour(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-04-15T08:00:00.000Z")); + } + + @Test + public void testToMinute() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToMinute func = new ISOToMinute(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-04-15T08:11:00.000Z")); + } + + @Test + public void testToSecond() throws Exception { + + Tuple t1 = TupleFactory.getInstance().newTuple(1); + t1.set(0, "2010-04-15T08:11:33.020Z"); + + ISOToSecond func = new ISOToSecond(); + String truncated = func.exec(t1); + + assertTrue(truncated.equals("2010-04-15T08:11:33.000Z")); + } +} \ No newline at end of file