/** * Copyright (C) 2016 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.market.param; import com.google.common.base.Preconditions; /** * Testing implementation. */ public class TestingParameterizedData2 implements ParameterizedData { private final double value1; private final double value2; public TestingParameterizedData2(double value1, double value2) { this.value1 = value1; this.value2 = value2; } @Override public int getParameterCount() { return 2; } @Override public double getParameter(int parameterIndex) { Preconditions.checkElementIndex(parameterIndex, 2); return parameterIndex == 0 ? value1 : value2; } @Override public ParameterMetadata getParameterMetadata(int parameterIndex) { Preconditions.checkElementIndex(parameterIndex, 2); return ParameterMetadata.empty(); } @Override public ParameterizedData withParameter(int parameterIndex, double newValue) { if (parameterIndex == 0) { return new TestingParameterizedData2(newValue, value2); } return new TestingParameterizedData2(value1, newValue); } //------------------------------------------------------------------------- @Override public boolean equals(Object obj) { if (obj instanceof TestingParameterizedData2) { TestingParameterizedData2 other = (TestingParameterizedData2) obj; return Double.doubleToRawLongBits(value1) == Double.doubleToRawLongBits(other.value1) && Double.doubleToRawLongBits(value2) == Double.doubleToRawLongBits(other.value2); } return false; } @Override public int hashCode() { return Double.valueOf(value1).hashCode() ^ Double.valueOf(value2).hashCode(); } @Override public String toString() { return value1 + ":" + value2; } }