@Test
public void testSynonyms() throws IOException {

    SkillModel skill = SkillModel.builder()
        .withInvocationName(Locales.en_US, "en_US")
        .withInvocationName(Locales.en_GB, "en_GB")
        .withInvocationName(Locales.de_DE, "de_DE")
        .withInvocationName(Locales.fr_FR, "fr_FR")
        .addModel(Model.builder()
            .intent(TestIntent.class)
            .build())
        .build();
    for (Locale locale : Locales.values()) {
        Collection<SlotType> actual = underTest.render(skill, locale).getLanguageModel().getTypes();
        List<SlotType> expected = Collections.singletonList(
            makeSlotType("TestCustom", Arrays.asList(
                makeSlotTypeValue("A", Collections.singletonList("test_A_" + stringifyLocale(locale))),
                makeSlotTypeValue("B", Collections.singletonList("test_B_" + stringifyLocale(locale)))
                )
            ));
        assertEquals(WRITER.writeValueAsString(expected), WRITER.writeValueAsString(actual));
    }
}