ImmutableFeatureDefinitionIdentifier implements DefinitionIdentifier { public static ImmutableFeatureDefinitionIdentifier getInstance(final CharSequence namespace, final CharSequence name, final CharSequence version) { return new ImmutableFeatureDefinitionIdentifier(namespace, name, version); } private  ImmutableFeatureDefinitionIdentifier(final DefinitionIdentifier delegate); private  ImmutableFeatureDefinitionIdentifier(final CharSequence theNamespace, final CharSequence theName,
            final CharSequence theVersion); static ImmutableFeatureDefinitionIdentifier getInstance(final CharSequence namespace,
            final CharSequence name, final CharSequence version); static ImmutableFeatureDefinitionIdentifier ofParsed(final CharSequence featureDefinitionIdentifier); @Override String getNamespace(); @Override String getName(); @Override String getVersion(); @Override boolean equals(final Object o); @Override int hashCode(); @Override int length(); @Override char charAt(final int index); @Override CharSequence subSequence(final int start, final int end); @Override String toString();  }
@Test public void tryToGetInstanceWithNullNamespace() { assertThatNullPointerException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance(null, NAME, VERSION)) .withMessage("The %s must not be null!", "namespace") .withNoCause(); }
@Test public void tryToGetInstanceWithEmptyNamespace() { assertThatIllegalArgumentException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance("", NAME, VERSION)) .withMessage("The argument '%s' must not be empty!", "namespace") .withNoCause(); }
@Test public void tryToGetInstanceWithNullName() { assertThatNullPointerException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance(NAMESPACE, null, VERSION)) .withMessage("The %s must not be null!", "name") .withNoCause(); }
@Test public void tryToGetInstanceWithEmptyName() { assertThatIllegalArgumentException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance(NAMESPACE, "", VERSION)) .withMessage("The argument '%s' must not be empty!", "name") .withNoCause(); }
@Test public void tryToGetInstanceWithNullVersion() { assertThatNullPointerException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance(NAMESPACE, NAME, null)) .withMessage("The %s must not be null!", "version") .withNoCause(); }
@Test public void tryToGetInstanceWithEmptyVersion() { assertThatIllegalArgumentException() .isThrownBy(() -> ImmutableFeatureDefinitionIdentifier.getInstance(NAMESPACE, NAME, "")) .withMessage("The argument '%s' must not be empty!", "version") .withNoCause(); }