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);
            }
        }
Ejemplo n.º 3
0
        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());
        }