EnumGameVariant implements IGameVariant { @Override public String getLabel(final Translator translator) { return translator.translate(extractLabelCodeFunction.apply(enumValue)); }  @Override String getLabel(final Translator translator);  }
@Test void givenTranslator_shouldTranslateLabel() { EnumGameVariant<TestEnum> gameVariant = new EnumGameVariant<>(TestEnum.TEST1, Object::toString); assertEquals("translation", gameVariant.getLabel(translator)); verify(translator, times(1)).translate("TEST1"); }