### Question:
CalculationRules implements ImmutableBean { public static CalculationRules of(CalculationFunctions functions, CalculationParameter... parameters) { CalculationParameters params = CalculationParameters.of(parameters); return new CalculationRules(functions, ReportingCurrency.NATURAL, params); } private  CalculationRules(
      CalculationFunctions functions,
      ReportingCurrency reportingCurrency,
      CalculationParameters parameters); static CalculationRules of(CalculationFunctions functions, CalculationParameter... parameters); static CalculationRules of(CalculationFunctions functions, CalculationParameters parameters); static CalculationRules of(
      CalculationFunctions functions,
      Currency reportingCurrency,
      CalculationParameter... parameters); static CalculationRules of(
      CalculationFunctions functions,
      ReportingCurrency reportingCurrency,
      CalculationParameters parameters); static CalculationRules.Meta meta(); @Override CalculationRules.Meta metaBean(); CalculationFunctions getFunctions(); ReportingCurrency getReportingCurrency(); CalculationParameters getParameters(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { CalculationRules test = CalculationRules.of(FUNCTIONS); coverImmutableBean(test); CalculationRules test2 = CalculationRules.of(FUNCTIONS, USD); coverBeanEquals(test, test2); }