public virtual void test_multiplyBy() { MutablePointSensitivities test = new MutablePointSensitivities(); test.addAll(Lists.newArrayList(CS3, CS2, CS1)); test.multipliedBy(2d); assertEquals(test.Sensitivities, ImmutableList.of(CS3.withSensitivity(64d), CS2.withSensitivity(44d), CS1.withSensitivity(24d))); }
// inserts a sensitivity into the mutable list in the right location // merges the entry with an existing entry if the key matches private static void insert(IList <PointSensitivity> mutable, PointSensitivity addition) { //JAVA TO C# CONVERTER TODO TASK: Method reference arbitrary object instance method syntax is not converted by Java to C# Converter: int index = Collections.binarySearch(mutable, addition, PointSensitivity::compareKey); if (index >= 0) { PointSensitivity @base = mutable[index]; double combined = @base.Sensitivity + addition.Sensitivity; mutable[index] = @base.withSensitivity(combined); } else { int insertionPoint = -(index + 1); mutable.Insert(insertionPoint, addition); } }
public virtual void test_convertedTo_multipleCurrency() { double rate = 1.5d; FxMatrix matrix = FxMatrix.of(CurrencyPair.of(GBP, USD), rate); PointSensitivities @base = PointSensitivities.of(Lists.newArrayList(CS4, CS3, CS1)); PointSensitivities test1 = @base.convertedTo(USD, matrix); PointSensitivity c1Conv = CS1.convertedTo(USD, matrix); PointSensitivity c3Conv = CS3.convertedTo(USD, matrix); PointSensitivity c3c4Usd = c3Conv.withSensitivity(c3Conv.Sensitivity + CS4.Sensitivity); PointSensitivities expected1 = PointSensitivities.of(Lists.newArrayList(c3c4Usd, c1Conv)); assertEquals(test1.normalized(), expected1.normalized()); PointSensitivities test2 = @base.convertedTo(GBP, matrix); PointSensitivity c4Conv = CS4.convertedTo(GBP, matrix); PointSensitivity c3c4GBP = CS3.withSensitivity(CS3.Sensitivity + c4Conv.Sensitivity); PointSensitivities expected2 = PointSensitivities.of(Lists.newArrayList(c3c4GBP, CS1)); assertEquals(test2.normalized(), expected2.normalized()); }