@@ -0,0 +1,1039 @@
+package arez.component;%0A%0Aimport javax.annotation.Nonnull;%0Aimport org.testng.annotations.Test;%0Aimport static org.testng.Assert.*;%0A%0Apublic class IdentifiableTest%0A  extends AbstractArezComponentTest%0A%7B%0A  static class TestElement%0A    implements Identifiable%3CString%3E%0A  %7B%0A    @Nonnull%0A    @Override%0A    public String getArezId()%0A    %7B%0A      return %22X%22;%0A    %7D%0A  %7D%0A%0A  @Test%0A  public void identifiableElement()%0A  %7B%0A    final TestElement element = new TestElement();%0A    assertEquals( Identifiable.getArezId( element ), %22X%22 );%0A    assertEquals( Identifiable.%3CString%3EasIdentifiable( element ), element );%0A  %7D%0A%0A  @Test%0A  public void nonIdentifiableElement()%0A  %7B%0A    final Object element = new Object();%0A    assertNull( Identifiable.getArezId( element ) );%0A    final IllegalStateException exception =%0A      expectThrows( IllegalStateException.class, () -%3E Identifiable.asIdentifiable( element ) );%0A    assertEquals( exception.getMessage(),%0A                  %22Object passed to asIdentifiable does not implement Identifiable. Object: %22 + element );%0A  %7D%0A%7D%0A

Add minimal tests to Identifiable