### Question:
GenericDoubleShifts implements ScenarioPerturbation<Double>, ImmutableBean, Serializable { public static GenericDoubleShifts of(ShiftType shiftType, DoubleArray shiftAmount) { return new GenericDoubleShifts(shiftType, shiftAmount, 0d); } GenericDoubleShifts(
      ShiftType shiftType,
      DoubleArray shiftAmount,
      double spread); static GenericDoubleShifts of(ShiftType shiftType, DoubleArray shiftAmount); static GenericDoubleShifts of(ShiftType shiftType, DoubleArray shiftAmount, double spread); @Override MarketDataBox<Double> applyTo(MarketDataBox<Double> marketData, ReferenceData refData); @Override int getScenarioCount(); @Override Class<Double> getMarketDataType(); static GenericDoubleShifts.Meta meta(); @Override GenericDoubleShifts.Meta metaBean(); ShiftType getShiftType(); DoubleArray getShiftAmount(); double getSpread(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { GenericDoubleShifts test1 = GenericDoubleShifts.of(ShiftType.ABSOLUTE, SHIFT_AMOUNT); coverImmutableBean(test1); GenericDoubleShifts test2 = GenericDoubleShifts.of(ShiftType.SCALED, DoubleArray.of(3.5d, 2d), SPREAD); coverBeanEquals(test1, test2); }