/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.basics.value; import static com.opengamma.strata.collect.TestHelper.assertSerialization; import static com.opengamma.strata.collect.TestHelper.coverImmutableBean; import static org.testng.Assert.assertEquals; import org.testng.annotations.Test; /** * Test {@link ValueAdjustment}. */ @Test public class ValueAdjustmentTest { private static double TOLERANCE = 0.0001d; public void test_NONE() { ValueAdjustment test = ValueAdjustment.NONE; assertEquals(test.getModifyingValue(), 0, TOLERANCE); assertEquals(test.getType(), ValueAdjustmentType.DELTA_AMOUNT); assertEquals(test.adjust(100), 100, TOLERANCE); assertEquals(test.toString(), "ValueAdjustment[result = input]"); } public void test_ofReplace() { ValueAdjustment test = ValueAdjustment.ofReplace(200); assertEquals(test.getModifyingValue(), 200, TOLERANCE); assertEquals(test.getType(), ValueAdjustmentType.REPLACE); assertEquals(test.adjust(100), 200, TOLERANCE); assertEquals(test.toString(), "ValueAdjustment[result = 200.0]"); } public void test_ofDeltaAmount() { ValueAdjustment test = ValueAdjustment.ofDeltaAmount(20); assertEquals(test.getModifyingValue(), 20, TOLERANCE); assertEquals(test.getType(), ValueAdjustmentType.DELTA_AMOUNT); assertEquals(test.adjust(100), 120, TOLERANCE); assertEquals(test.toString(), "ValueAdjustment[result = input + 20.0]"); } public void test_ofDeltaMultiplier() { ValueAdjustment test = ValueAdjustment.ofDeltaMultiplier(0.1); assertEquals(test.getModifyingValue(), 0.1, TOLERANCE); assertEquals(test.getType(), ValueAdjustmentType.DELTA_MULTIPLIER); assertEquals(test.adjust(100), 110, TOLERANCE); assertEquals(test.toString(), "ValueAdjustment[result = input + input * 0.1]"); } public void test_ofMultiplier() { ValueAdjustment test = ValueAdjustment.ofMultiplier(1.1); assertEquals(test.getModifyingValue(), 1.1, TOLERANCE); assertEquals(test.getType(), ValueAdjustmentType.MULTIPLIER); assertEquals(test.adjust(100), 110, TOLERANCE); assertEquals(test.toString(), "ValueAdjustment[result = input * 1.1]"); } //------------------------------------------------------------------------- public void equals() { ValueAdjustment a1 = ValueAdjustment.ofReplace(200); ValueAdjustment a2 = ValueAdjustment.ofReplace(200); ValueAdjustment b = ValueAdjustment.ofDeltaMultiplier(200); ValueAdjustment c = ValueAdjustment.ofDeltaMultiplier(0.1); assertEquals(a1.equals(a2), true); assertEquals(a1.equals(b), false); assertEquals(a1.equals(c), false); } //------------------------------------------------------------------------- public void coverage() { coverImmutableBean(ValueAdjustment.ofReplace(200)); } public void test_serialization() { assertSerialization(ValueAdjustment.ofReplace(200)); } }