You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by th...@apache.org on 2012/11/20 04:27:04 UTC
svn commit: r1411524 -
/pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java
Author: thejas
Date: Tue Nov 20 03:27:04 2012
New Revision: 1411524
URL: http://svn.apache.org/viewvc?rev=1411524&view=rev
Log:
PIG-2982: add unit tests for DateTime type that test setting timezone - adding file missed in previous commit
Added:
pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java
Added: pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java?rev=1411524&view=auto
==============================================================================
--- pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java (added)
+++ pig/branches/branch-0.11/test/org/apache/pig/test/TestDefaultDateTimeZone.java Tue Nov 20 03:27:04 2012
@@ -0,0 +1,79 @@
+package org.apache.pig.test;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+
+import junit.framework.TestCase;
+
+import org.apache.pig.ExecType;
+import org.apache.pig.PigServer;
+import org.apache.pig.data.Tuple;
+import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestDefaultDateTimeZone extends TestCase {
+
+ private File tmpFile;
+
+ @Before
+ public void setUp() throws Exception {
+ tmpFile = File.createTempFile("test", "txt");
+ PrintStream ps = new PrintStream(new FileOutputStream(tmpFile));
+ ps.println("1970-01-01T00:00:00.000");
+ ps.println("1970-01-01T00:00:00.000Z");
+ ps.println("1970-01-03T00:00:00.000");
+ ps.println("1970-01-03T00:00:00.000Z");
+ ps.println("1970-01-05T00:00:00.000");
+ ps.println("1970-01-05T00:00:00.000Z");
+ ps.close();
+
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ tmpFile.delete();
+ }
+
+ @Test
+ public void testLocalExecution() throws Exception {
+ Iterator<Tuple> expectedItr = generateExpectedResults(DateTimeZone
+ .forOffsetMillis(DateTimeZone.forID("+08:00").getOffset(null)));
+ Properties config = new Properties();
+ config.setProperty("pig.datetime.default.tz", "+08:00");
+ PigServer pig = new PigServer(ExecType.LOCAL, config);
+ pig.registerQuery("a = load '"
+ + Util.generateURI(tmpFile.toString(), pig.getPigContext())
+ + "' as (test:datetime);");
+ pig.registerQuery("b = filter a by test < ToDate('1970-01-04T00:00:00.000');");
+ Iterator<Tuple> actualItr = pig.openIterator("b");
+ while (expectedItr.hasNext() && actualItr.hasNext()) {
+ Tuple expectedTuple = expectedItr.next();
+ Tuple actualTuple = actualItr.next();
+ assertEquals(expectedTuple, actualTuple);
+ }
+ assertEquals(expectedItr.hasNext(), actualItr.hasNext());
+ }
+
+ private static Iterator<Tuple> generateExpectedResults(DateTimeZone dtz)
+ throws Exception {
+ List<Tuple> expectedResults = new ArrayList<Tuple>();
+ expectedResults.add(Util.buildTuple(new DateTime(
+ "1970-01-01T00:00:00.000", dtz)));
+ expectedResults.add(Util.buildTuple(new DateTime(
+ "1970-01-01T00:00:00.000", DateTimeZone.UTC)));
+ expectedResults.add(Util.buildTuple(new DateTime(
+ "1970-01-03T00:00:00.000", dtz)));
+ expectedResults.add(Util.buildTuple(new DateTime(
+ "1970-01-03T00:00:00.000", DateTimeZone.UTC)));
+ return expectedResults.iterator();
+ }
+
+}