Package com.opengamma.util.db

Source Code of com.opengamma.util.db.DbDateUtilsTest

/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.util.db;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNull;

import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;

import org.testng.annotations.Test;
import org.threeten.bp.Instant;
import org.threeten.bp.LocalDate;
import org.threeten.bp.LocalDateTime;
import org.threeten.bp.LocalTime;

import com.opengamma.util.test.TestGroup;

/**
* Test DbDateUtils.
*/
@SuppressWarnings("deprecation")
@Test(groups = TestGroup.UNIT)
public class DbDateUtilsTest {

  //-------------------------------------------------------------------------
  public void test_toSqlTimestamp() {
    Instant instant = Instant.now();
    Timestamp ts = DbDateUtils.toSqlTimestamp(instant);
    assertEquals(instant.toEpochMilli(), ts.getTime());
    assertEquals(instant.getNano(), ts.getNanos());
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_toSqlTimestamp_LocalTime_null() {
    DbDateUtils.toSqlTimestamp((LocalTime) null);
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_toSqlTimestamp_InstantProvider_null() {
    DbDateUtils.toSqlTimestamp((Instant) null);
  }

  public void test_fromSqlTimestamp() {
    Timestamp ts = new Timestamp(123456789L);
    ts.setNanos(789654321);
    Instant instant = DbDateUtils.fromSqlTimestamp(ts);
    assertEquals(ts.getTime(), instant.toEpochMilli());
    assertEquals(ts.getNanos(), instant.getNano());
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_fromSqlTimestamp_null() {
    DbDateUtils.fromSqlTimestamp(null);
  }

  public void test_fromSqlTimestamp_max() {
    assertEquals(DbDateUtils.MAX_INSTANT, DbDateUtils.fromSqlTimestamp(DbDateUtils.MAX_SQL_TIMESTAMP));
  }

  public void test_fromSqlTimestampNullFarFuture() {
    Timestamp ts = new Timestamp(123456789L);
    ts.setNanos(789654321);
    Instant instant = DbDateUtils.fromSqlTimestampNullFarFuture(ts);
    assertEquals(ts.getTime(), instant.toEpochMilli());
    assertEquals(ts.getNanos(), instant.getNano());
  }

  public void test_fromSqlTimestampNullFarFuture_max() {
    assertNull(DbDateUtils.fromSqlTimestampNullFarFuture(DbDateUtils.MAX_SQL_TIMESTAMP));
  }

  //-------------------------------------------------------------------------
  public void test_toSqlDateTime() {
    assertEquals(new Timestamp(2005 - 1900, 11 - 1, 7, 12, 34, 56, 7), DbDateUtils.toSqlDateTime(LocalDateTime.of(2005, 11, 7, 12, 34, 56, 7)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_toSqlDateTime_null() {
    DbDateUtils.toSqlDateTime(null);
  }

  public void test_fromSqlDateTime() {
    assertEquals(LocalDateTime.of(2005, 11, 7, 12, 34, 56, 7), DbDateUtils.fromSqlDateTime(new Timestamp(2005 - 1900, 11 - 1, 7, 12, 34, 56, 7)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_fromSqlDateTimep_null() {
    DbDateUtils.fromSqlDateTime(null);
  }

  public void test_fromSqlDateTime_max() {
    assertEquals(LocalDateTime.of(9999, 12, 31, 23, 59, 59, 0), DbDateUtils.fromSqlDateTime(DbDateUtils.MAX_SQL_TIMESTAMP));
  }

  public void test_fromSqlDateTimeNullFarFuture() {
    assertEquals(LocalDateTime.of(2005, 11, 7, 12, 34, 56, 7), DbDateUtils.fromSqlDateTimeNullFarFuture(new Timestamp(2005 - 1900, 11 - 1, 7, 12, 34, 56, 7)));
  }

  public void test_fromSqlDateTimeNullFarFuture_max() {
    assertNull(DbDateUtils.fromSqlDateTimeNullFarFuture(DbDateUtils.MAX_SQL_TIMESTAMP));
  }

  //-------------------------------------------------------------------------
  public void test_toSqlDate() {
    assertEquals(new Date(2005 - 1900, 11 - 1, 12), DbDateUtils.toSqlDate(LocalDate.of(2005, 11, 12)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_toSqlDate_null() {
    DbDateUtils.toSqlDate(null);
  }

  public void test_toSqlDateNullFarFuture() {
    assertEquals(new Date(2005 - 1900, 11 - 1, 12), DbDateUtils.toSqlDateNullFarFuture(LocalDate.of(2005, 11, 12)));
    assertEquals(DbDateUtils.MAX_SQL_DATE, DbDateUtils.toSqlDateNullFarFuture(null));
  }

  public void test_toSqlDateNullFarPast() {
    assertEquals(new Date(2005 - 1900, 11 - 1, 12), DbDateUtils.toSqlDateNullFarPast(LocalDate.of(2005, 11, 12)));
    assertEquals(DbDateUtils.MIN_SQL_DATE, DbDateUtils.toSqlDateNullFarPast(null));
  }

  public void test_fromSqlDate() {
    assertEquals(LocalDate.of(2005, 11, 12), DbDateUtils.fromSqlDate(new Date(2005 - 1900, 11 - 1, 12)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_fromSqlDate_null() {
    DbDateUtils.fromSqlDate(null);
  }

  //-------------------------------------------------------------------------
  public void test_toSqlTime() {
    assertEquals(new Time(12, 34, 56), DbDateUtils.toSqlTime(LocalTime.of(12, 34, 56)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_toSqlTime_null() {
    DbDateUtils.toSqlTime(null);
  }

  public void test_fromSqlTime() {
    assertEquals(LocalTime.of(12, 34, 56), DbDateUtils.fromSqlTime(new Time(12, 34, 56)));
  }

  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_fromSqlTime_time_null() {
    DbDateUtils.fromSqlTime((Time) null);
  }
 
  @Test(expectedExceptions = IllegalArgumentException.class)
  public void test_fromSqlTime_timestamp_null() {
    DbDateUtils.fromSqlTime((Timestamp) null);
  }

}
TOP

Related Classes of com.opengamma.util.db.DbDateUtilsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.