InheritanceModeOptions { public float getMaxFreq() { return maxFreq; } private  InheritanceModeOptions(Map<SubModeOfInheritance, Float> values); static InheritanceModeOptions defaults(); static InheritanceModeOptions empty(); static InheritanceModeOptions of(Map<SubModeOfInheritance, Float> values); static InheritanceModeOptions defaultForModes(ModeOfInheritance... modesOfInheritance); float getMaxFreqForMode(ModeOfInheritance modeOfInheritance); float getMaxFreqForSubMode(SubModeOfInheritance subModeOfInheritance); float getMaxFreq(); Set<ModeOfInheritance> getDefinedModes(); Set<SubModeOfInheritance> getDefinedSubModes(); boolean isEmpty(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void getMaxFreq() { assertThat(InheritanceModeOptions.empty().getMaxFreq(), equalTo(Float.MAX_VALUE)); assertThat(InheritanceModeOptions.defaults().getMaxFreq(), equalTo(2.0f)); Map<SubModeOfInheritance, Float> userDefinedThresholds = ImmutableMap.of(SubModeOfInheritance.AUTOSOMAL_RECESSIVE_COMP_HET, 1f); InheritanceModeOptions userDefined = InheritanceModeOptions.of(userDefinedThresholds); assertThat(userDefined.getMaxFreq(), equalTo(1f)); }