//------------------------------------------------------------------------- public virtual void test_of() { ParameterSize test = ParameterSize.of(CURVE_NAME, 3); assertEquals(test.Name, CURVE_NAME); assertEquals(test.ParameterCount, 3); }
//------------------------------------------------------------------------- /// <summary> /// Combines two or more instances to form a single sensitivity instance. /// <para> /// The result will store information about the separate instances allowing it to be <seealso cref="#split()"/> later. /// /// </para> /// </summary> /// <param name="marketDataName"> the combined name of the market data that the sensitivity refers to </param> /// <param name="sensitivities"> the sensitivity instances to combine, two or more </param> /// <returns> the combined sensitivity object </returns> public static UnitParameterSensitivity combine <T1>(MarketDataName <T1> marketDataName, params UnitParameterSensitivity[] sensitivities) { ArgChecker.notEmpty(sensitivities, "sensitivities"); if (sensitivities.Length < 2) { throw new System.ArgumentException("At least two sensitivity instances must be specified"); } int size = Stream.of(sensitivities).mapToInt(s => s.ParameterCount).sum(); double[] combinedSensitivities = new double[size]; ImmutableList.Builder <ParameterMetadata> combinedMeta = ImmutableList.builder(); ImmutableList.Builder <ParameterSize> split = ImmutableList.builder(); int count = 0; for (int i = 0; i < sensitivities.Length; i++) { UnitParameterSensitivity sens = sensitivities[i]; Array.Copy(sens.Sensitivity.toArrayUnsafe(), 0, combinedSensitivities, count, sens.ParameterCount); combinedMeta.addAll(sens.ParameterMetadata); split.add(ParameterSize.of(sens.MarketDataName, sens.ParameterCount)); count += sens.ParameterCount; } return(new UnitParameterSensitivity(marketDataName, combinedMeta.build(), DoubleArray.ofUnsafe(combinedSensitivities), split.build())); }
//------------------------------------------------------------------------- public virtual void coverage() { ParameterSize test = ParameterSize.of(CURVE_NAME, 3); coverImmutableBean(test); ParameterSize test2 = ParameterSize.of(CurveName.of("Foo"), 4); coverBeanEquals(test, test2); }
public virtual void test_serialization() { ParameterSize test = ParameterSize.of(CURVE_NAME, 3); assertSerialization(test); }