### Question:
FXHelper { public static List<List<Integer>> extractHiSynthIds(List<ProgressionUnit> progressionUnits) { List<List<Integer>> hiSynthIds = new ArrayList<>(); for(int i=0; i<progressionUnits.get(0).getProgressionUnitBars().get(0).getSynthTemplates().size(); i++){ hiSynthIds.add(new ArrayList<>()); } for (ProgressionUnit progressionUnit : progressionUnits) { for (ProgressionUnitBar progressionUnitBar : progressionUnit.getProgressionUnitBars()) { for (int i = 0; i < progressionUnitBar.getSynthTemplates().size(); i++) { if (hiSynthIds.get(i).size() < 2) { if (!hiSynthIds.get(i).contains(progressionUnitBar.getHiSynthId().get(i))) { hiSynthIds.get(i).add(progressionUnitBar.getHiSynthId().get(i)); } } } } } return hiSynthIds; }  static int getSixteenNoteInMs(int bpm); static int getEigthNoteInMs(int bpm); static int getQuarterNoteInMs(int bpm); static int getHalfNoteInMs(int bpm); static int getEighthTripletsInMs(int bpm); static int getTripletsInMs(int bpm); static List<List<Integer>> extractHiSynthIds(List<ProgressionUnit> progressionUnits);  }### Answer:
@Test public void shouldSelectCorrectNumberOfSynthIds() { List<List<Integer>> lists = FXHelper.extractHiSynthIds(progressionUnits); assertThat(lists.size()).isEqualTo(3); assertThat(lists.get(0).size()).isEqualTo(2); assertThat(lists.get(0).get(0)).isEqualTo(1); assertThat(lists.get(0).get(1)).isEqualTo(2); assertThat(lists.get(1).size()).isEqualTo(2); assertThat(lists.get(1).get(0)).isEqualTo(5); assertThat(lists.get(1).get(1)).isEqualTo(6); assertThat(lists.get(2).size()).isEqualTo(2); assertThat(lists.get(2).get(0)).isEqualTo(9); assertThat(lists.get(2).get(1)).isEqualTo(10); }