public virtual void test_plus_sensitivity_wrongName() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME2, METADATA1, VECTOR1); assertThrowsIllegalArg(() => base1.plus(base2)); }
//------------------------------------------------------------------------- public virtual void test_toUnitParameterSensitivity() { CurrencyParameterSensitivity @base = CurrencyParameterSensitivity.of(NAME1, METADATA_USD1, USD, VECTOR_USD1); UnitParameterSensitivity test = @base.toUnitParameterSensitivity(); assertEquals(test, UnitParameterSensitivity.of(NAME1, METADATA_USD1, VECTOR_USD1)); }
//------------------------------------------------------------------------- public virtual void test_plus_array() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity test = @base.plus(VECTOR1); assertEquals(test, @base.multipliedBy(2)); }
//------------------------------------------------------------------------- public virtual void test_total() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); double test = @base.total(); assertEquals(test, VECTOR1.get(0) + VECTOR1.get(1) + VECTOR1.get(2) + VECTOR1.get(3)); }
public virtual void test_combine_duplicateNames() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME1, METADATA2, VECTOR2); assertThrowsIllegalArg(() => UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2)); }
//------------------------------------------------------------------------- public virtual void test_plus_sensitivity() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity test = base1.plus(base1); assertEquals(test, base1.multipliedBy(2)); }
public virtual void test_multipliedBy() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity test = @base.multipliedBy(FACTOR1); assertEquals(test, UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1_FACTOR)); }
//------------------------------------------------------------------------- public virtual void test_withSensitivity() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity test = @base.withSensitivity(VECTOR1_FACTOR); assertEquals(test, UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1_FACTOR)); assertThrowsIllegalArg(() => @base.withSensitivity(DoubleArray.of(1d))); }
//------------------------------------------------------------------------- public virtual void test_split1() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); ImmutableList <UnitParameterSensitivity> test = @base.split(); assertEquals(test.size(), 1); assertEquals(test.get(0), @base); }
//------------------------------------------------------------------------- public virtual void coverage() { UnitParameterSensitivity test = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); coverImmutableBean(test); UnitParameterSensitivity test2 = UnitParameterSensitivity.of(NAME2, METADATA2, VECTOR2); coverBeanEquals(test, test2); }
public virtual void test_split2() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME2, METADATA2, VECTOR2); UnitParameterSensitivity combined = UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2); ImmutableList <UnitParameterSensitivity> test = combined.split(); assertEquals(test.size(), 2); assertEquals(test.get(0), base1); assertEquals(test.get(1), base2); }
//------------------------------------------------------------------------- public virtual void test_of_metadata() { UnitParameterSensitivity test = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); assertEquals(test.MarketDataName, NAME1); assertEquals(test.ParameterCount, VECTOR1.size()); assertEquals(test.ParameterMetadata, METADATA1); assertEquals(test.getParameterMetadata(0), METADATA1[0]); assertEquals(test.Sensitivity, VECTOR1); assertEquals(test.ParameterSplit, null); }
public virtual void test_of_metadataParamSplit() { UnitParameterSensitivity test = UnitParameterSensitivity.of(NAME_COMBINED, METADATA_COMBINED, VECTOR_COMBINED, PARAM_SPLIT); assertEquals(test.MarketDataName, NAME_COMBINED); assertEquals(test.ParameterCount, VECTOR_COMBINED.size()); assertEquals(test.ParameterMetadata, METADATA_COMBINED); assertEquals(test.getParameterMetadata(0), METADATA_COMBINED.get(0)); assertEquals(test.Sensitivity, VECTOR_COMBINED); assertEquals(test.ParameterSplit, PARAM_SPLIT); }
public virtual void test_combine() { UnitParameterSensitivity base1 = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); UnitParameterSensitivity base2 = UnitParameterSensitivity.of(NAME2, METADATA2, VECTOR2); UnitParameterSensitivity test = UnitParameterSensitivity.combine(NAME_COMBINED, base1, base2); assertEquals(test.MarketDataName, NAME_COMBINED); assertEquals(test.ParameterCount, VECTOR_COMBINED.size()); assertEquals(test.ParameterMetadata, METADATA_COMBINED); assertEquals(test.getParameterMetadata(0), METADATA_COMBINED.get(0)); assertEquals(test.Sensitivity, VECTOR_COMBINED); assertEquals(test.ParameterSplit, PARAM_SPLIT); }
//------------------------------------------------------------------------- /// <summary> /// Splits this sensitivity instance. /// <para> /// A single sensitivity instance may be based on more than one underlying <seealso cref="ParameterizedData"/>, /// as represented by <seealso cref="#getParameterSplit()"/>. Calling this method returns a list /// where the sensitivity of this instance has been split into multiple instances as per /// the parameter split definition. In the common case where there is a single underlying /// {@code ParameterizedData}, the list will be of size one containing this instance. /// /// </para> /// </summary> /// <returns> this sensitivity split as per the defined parameter split, ordered as per this instance </returns> public ImmutableList <UnitParameterSensitivity> split() { if (parameterSplit == null) { return(ImmutableList.of(this)); } ImmutableList.Builder <UnitParameterSensitivity> builder = ImmutableList.builder(); int count = 0; foreach (ParameterSize size in parameterSplit) { IList <ParameterMetadata> splitMetadata = parameterMetadata.subList(count, count + size.ParameterCount); DoubleArray splitSensitivity = sensitivity.subArray(count, count + size.ParameterCount); builder.add(UnitParameterSensitivity.of(size.Name, splitMetadata, splitSensitivity)); count += size.ParameterCount; } return(builder.build()); }
public virtual void test_combine_arraySize1() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); assertThrowsIllegalArg(() => UnitParameterSensitivity.combine(NAME_COMBINED, @base)); }
public virtual void test_of_metadataParamSplit_badSplit() { assertThrowsIllegalArg(() => UnitParameterSensitivity.of(NAME_COMBINED, METADATA1, VECTOR1, PARAM_SPLIT)); }
public virtual void test_plus_array_wrongSize() { UnitParameterSensitivity @base = UnitParameterSensitivity.of(NAME1, METADATA1, VECTOR1); assertThrowsIllegalArg(() => @base.plus(VECTOR2)); }
public virtual void test_of_metadata_badMetadata() { assertThrowsIllegalArg(() => UnitParameterSensitivity.of(NAME1, METADATA_BAD, VECTOR1)); }