/** * Copyright (c) 2010 Darmstadt University of Technology. * 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: * Marcel Bruch - initial API and implementation. */ package org.eclipse.recommenders.utils.gson; import static org.junit.Assert.assertEquals; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; import org.junit.Ignore; import org.junit.Test; public class GsonDateFormatTest { @Test public void testDeserialization() { // setup: final String input = "\"2011-01-03T10:52:32.587+01:00\""; final Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+01:00")); // exercise: final Date date = GsonUtil.deserialize(input, Date.class); calendar.setTime(date); // verify: assertEquals(2011, calendar.get(Calendar.YEAR)); assertEquals(0, calendar.get(Calendar.MONTH)); assertEquals(3, calendar.get(Calendar.DAY_OF_MONTH)); assertEquals(10, calendar.get(Calendar.HOUR_OF_DAY)); assertEquals(52, calendar.get(Calendar.MINUTE)); assertEquals(32, calendar.get(Calendar.SECOND)); assertEquals(587, calendar.get(Calendar.MILLISECOND)); assertEquals(3600 * 1000, calendar.get(Calendar.ZONE_OFFSET)); } @Test @Ignore public void testSerialization() { // setup: final String output = "\"2011-01-03T10:52:32.587+01:00\""; final Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+01:00")); calendar.set(Calendar.YEAR, 2011); calendar.set(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 3); calendar.set(Calendar.HOUR_OF_DAY, 10); calendar.set(Calendar.MINUTE, 52); calendar.set(Calendar.SECOND, 32); calendar.set(Calendar.MILLISECOND, 587); // exercise: final String json = GsonUtil.serialize(calendar.getTime()); // verify: assertEquals(output, json); } }