### Question:
SynthTemplateOptions implements ISynthTemplateOptions { @Override public void setLowSynthOptions(ProgressionUnitBar progressionUnitBar) { List<List<SynthTemplateOption>> allLowOptions = new ArrayList<>(); for (SynthTemplate synthTemplate : progressionUnitBar.getSynthTemplates()) { SynthTemplateOption synthLow = new SynthTemplateOption(synthTemplate.getLowSynthId(), synthTemplate.getLowSynthName(), SynthTemplateOption.SynthRoll.SYNTH_LOW); SynthTemplateOption synthLowAlt = new SynthTemplateOption(synthTemplate.getLowSynthIdAlt(), synthTemplate.getLowSynthNameAlt(), SynthTemplateOption.SynthRoll.SYNTH_LOW); List<SynthTemplateOption> lowOptions = new ArrayList<>(); lowOptions.add(synthLow); lowOptions.add(synthLowAlt); allLowOptions.add(lowOptions); } progressionUnitBar.setSynthTemplateLowOptions(allLowOptions); }  @Override void setHiSynthOptions(ProgressionUnitBar progressionUnitBar); @Override void setMidSynthOptions(ProgressionUnitBar progressionUnitBar); @Override void setLowSynthOptions(ProgressionUnitBar progressionUnitBar);  }### Answer:
@Test public void shouldSetCorrectLowSynthOptionIds() { synthTemplateOptions.setLowSynthOptions(progressionUnitBar); SynthTemplateOption option = progressionUnitBar.getSynthTemplateLowOptions().get(0).stream().filter(s -> s.getId() == 31 && s.getName().equalsIgnoreCase("lowsynth") && s.getSynthRoll() == SynthTemplateOption.SynthRoll.SYNTH_LOW).findFirst().get(); Assert.assertNotNull(option); option = progressionUnitBar.getSynthTemplateLowOptions().get(0).stream().filter(s -> s.getId() == 32 && s.getName().equalsIgnoreCase("lowsynthalt") && s.getSynthRoll() == SynthTemplateOption.SynthRoll.SYNTH_LOW).findFirst().get(); Assert.assertNotNull(option); }