/* * Licensed 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 com.addthis.hydra.data.query; import org.joda.time.format.DateTimeFormat; import org.junit.Test; public class TestOpDateFormat extends TestOp { @Test public void testConvertDatesInPlace() throws Exception { doOpTest( new DataTableHelper(). tr().td("140101"). tr().td("140108"), "datef=0:yyMMdd:yyww", new DataTableHelper(). tr().td("1401"). tr().td("1402") ); } @Test public void testConvertDatesDifferentColumn() throws Exception { doOpTest( new DataTableHelper(). tr().td("140101", "0"). tr().td("140108", "0"), "datef=0:yyMMdd:yyww:1", new DataTableHelper(). tr().td("140101", "1401"). tr().td("140108", "1402") ); } @Test public void testParseUnixMillis() throws Exception { long testTimeMillis = 1418078000000l; String outputFormat = "yyMMdd"; // Manually convert the test-time to yyMMdd in the local time zone String expectedResult = DateTimeFormat.forPattern(outputFormat).print(testTimeMillis); doOpTest( new DataTableHelper(). tr().td(Long.toString(testTimeMillis), "0"), String.format("datef=0:unixmillis:%s:1", outputFormat), new DataTableHelper(). tr().td(Long.toString(testTimeMillis), expectedResult) ); } }