public virtual void test_resolve_invalid()
        {
            ValueStepSequence test     = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P12M, ADJ);
            ValueStep         baseStep = ValueStep.of(date(2016, 1, 20), ValueAdjustment.ofReplace(500d));

            assertThrowsIllegalArg(() => test.resolve(ImmutableList.of(baseStep), RollConventions.NONE));
        }
        //-------------------------------------------------------------------------
        public virtual void test_resolve()
        {
            ValueStepSequence test     = ValueStepSequence.of(date(2016, 4, 20), date(2016, 10, 20), Frequency.P3M, ADJ);
            ValueStep         baseStep = ValueStep.of(date(2016, 1, 20), ValueAdjustment.ofReplace(500d));
            IList <ValueStep> steps    = test.resolve(ImmutableList.of(baseStep), RollConventions.NONE);

            assertEquals(steps.Count, 4);
            assertEquals(steps[0], baseStep);
            assertEquals(steps[1], ValueStep.of(date(2016, 4, 20), ADJ));
            assertEquals(steps[2], ValueStep.of(date(2016, 7, 20), ADJ));
            assertEquals(steps[3], ValueStep.of(date(2016, 10, 20), ADJ));
        }