/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.test.descriptor; import static org.fest.assertions.Assertions.assertThat; import java.util.Calendar; import java.util.Date; import org.hibernate.ogm.type.descriptor.impl.TimestampDateTypeDescriptor; import org.junit.Test; /** * @author Davide D'Alto <davide@hibernate.org> */ public class TimestampDateTypeDescriptorTest { @Test public void testSameDatesAreEquals() throws Exception { assertThat( TimestampDateTypeDescriptor.INSTANCE.areEqual( createDate( 2 ), createDate( 2 ) ) ).isTrue(); } @Test public void testDifferentDatesAreNotEquals() throws Exception { assertThat( TimestampDateTypeDescriptor.INSTANCE.areEqual( createDate( 3 ), createDate( 2 ) ) ).isFalse(); } @Test public void testNullDatesAreEquals() throws Exception { assertThat( TimestampDateTypeDescriptor.INSTANCE.areEqual( null, null ) ).isTrue(); } @Test public void testConversionToString() throws Exception { assertThat( TimestampDateTypeDescriptor.INSTANCE.toString( createDate( 5 ) ) ) .matches( "2113/08/05 21:58:39:777.*" ); } private Date createDate(int dayOfMonth) { Calendar instance = Calendar.getInstance(); instance.set( Calendar.DAY_OF_MONTH, dayOfMonth ); instance.set( Calendar.MONTH, Calendar.AUGUST ); instance.set( Calendar.YEAR, 2113 ); instance.set( Calendar.HOUR_OF_DAY, 21 ); instance.set( Calendar.MINUTE, 58 ); instance.set( Calendar.SECOND, 39 ); instance.set( Calendar.MILLISECOND, 777 ); Date one = instance.getTime(); return one; } }