/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.collect.timeseries; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import java.time.LocalDate; import org.testng.annotations.Test; /** * Test LocalDateDoublePoint. */ @Test public class LocalDateDoublePointTest { private static final LocalDate DATE_2012_06_29 = LocalDate.of(2012, 6, 29); private static final LocalDate DATE_2012_06_30 = LocalDate.of(2012, 6, 30); private static final LocalDate DATE_2012_07_01 = LocalDate.of(2012, 7, 1); private static final double TOLERANCE = 0.00001d; //------------------------------------------------------------------------- public void test_of() { LocalDateDoublePoint test = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); assertEquals(test.getDate(), DATE_2012_06_30); assertEquals(test.getValue(), 1d, TOLERANCE); } @Test(expectedExceptions = IllegalArgumentException.class) public void test_of_nullDate() { LocalDateDoublePoint.of(null, 1d); } //------------------------------------------------------------------------- public void test_withDate() { LocalDateDoublePoint base = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); LocalDateDoublePoint test = base.withDate(DATE_2012_06_29); assertEquals(test.getDate(), DATE_2012_06_29); assertEquals(test.getValue(), 1d, TOLERANCE); } @Test(expectedExceptions = IllegalArgumentException.class) public void test_withDate_nullDate() { LocalDateDoublePoint base = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); base.withDate(null); } public void test_withValue() { LocalDateDoublePoint base = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); LocalDateDoublePoint test = base.withValue(2d); assertEquals(test.getDate(), DATE_2012_06_30); assertEquals(test.getValue(), 2d, TOLERANCE); } //------------------------------------------------------------------------- public void test_compareTo() { LocalDateDoublePoint a = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); LocalDateDoublePoint b = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); LocalDateDoublePoint c = LocalDateDoublePoint.of(DATE_2012_07_01, 1d); assertTrue(a.compareTo(a) == 0); assertTrue(a.compareTo(b) < 0); assertTrue(a.compareTo(c) < 0); assertTrue(b.compareTo(a) > 0); assertTrue(b.compareTo(b) == 0); assertTrue(b.compareTo(c) < 0); assertTrue(c.compareTo(a) > 0); assertTrue(c.compareTo(b) > 0); assertTrue(c.compareTo(c) == 0); } //------------------------------------------------------------------------- public void test_equalsHashCode_differentDates() { LocalDateDoublePoint a1 = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); LocalDateDoublePoint a2 = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); LocalDateDoublePoint b = LocalDateDoublePoint.of(DATE_2012_06_30, 1d); LocalDateDoublePoint c = LocalDateDoublePoint.of(DATE_2012_07_01, 1d); assertEquals(a1.equals(a1), true); assertEquals(a1.equals(a2), true); assertEquals(a1.equals(b), false); assertEquals(a1.equals(c), false); assertEquals(a1.hashCode(), a1.hashCode()); } public void test_equalsHashCode_differentValues() { LocalDateDoublePoint a1 = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); LocalDateDoublePoint a2 = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); LocalDateDoublePoint b = LocalDateDoublePoint.of(DATE_2012_06_29, 2d); LocalDateDoublePoint c = LocalDateDoublePoint.of(DATE_2012_06_29, 3d); assertEquals(a1.equals(a1), true); assertEquals(a1.equals(a2), true); assertEquals(a1.equals(b), false); assertEquals(a1.equals(c), false); assertEquals(a1.hashCode(), a1.hashCode()); } public void test_equalsBad() { LocalDateDoublePoint a = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); assertEquals(a.equals(""), false); assertEquals(a.equals(null), false); } //------------------------------------------------------------------------- public void test_toString() { LocalDateDoublePoint test = LocalDateDoublePoint.of(DATE_2012_06_29, 1d); assertEquals(test.toString(), "(2012-06-29=1.0)"); } }