/******************************************************************************* * Copyright (c) 2012 Original authors and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Original authors and others - initial API and implementation ******************************************************************************/ package org.eclipse.nebula.widgets.nattable.data.convert; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; import org.eclipse.nebula.widgets.nattable.data.convert.ConversionFailedException; import org.eclipse.nebula.widgets.nattable.data.convert.DefaultDateDisplayConverter; import org.junit.Test; public class DefaultDateDisplayConverterTest { private static final TimeZone utc = TimeZone.getTimeZone("UTC"); private static final Date FROZEN_DATE = new Date(0); @Test public void happyPath() throws Exception { final DefaultDateDisplayConverter converter = new DefaultDateDisplayConverter( "yyyy.MM.dd HH:mm:ss", utc); assertEquals("1970.01.01 00:00:00", converter.canonicalToDisplayValue(FROZEN_DATE)); assertEquals(FROZEN_DATE, converter.displayToCanonicalValue("1970.01.01 00:00:00")); } @Test public void defaultDisplayFormat() throws Exception { final SimpleDateFormat sdf = new SimpleDateFormat(); sdf.setTimeZone(utc); final DefaultDateDisplayConverter converter = new DefaultDateDisplayConverter( utc); assertEquals(sdf.format(FROZEN_DATE), converter.canonicalToDisplayValue(FROZEN_DATE)); assertEquals(FROZEN_DATE, converter.displayToCanonicalValue(sdf.format(FROZEN_DATE))); } @Test public void invalidDataType() throws Exception { final DefaultDateDisplayConverter converter = new DefaultDateDisplayConverter(); System.err.println("** THE FOLLOWING STACK TRACE IS EXPECTED **"); assertEquals("XXX", converter.canonicalToDisplayValue("XXX")); try { converter.displayToCanonicalValue("AAA"); fail("ConversionFailedException should have been throwed"); } catch (ConversionFailedException e) {} } }