@Test
  public void testCustomSimpleName() throws Exception {
    class CustomTypeNamedEntity extends AbstractEntity {
      private final String typeName;

      CustomTypeNamedEntity(Entity parent, String typeName) {
        super(parent);
        this.typeName = typeName;
      }

      @Override
      protected String getEntityTypeName() {
        return typeName;
      }
    }

    CustomTypeNamedEntity entity2 = new CustomTypeNamedEntity(app, "a.b.with space");
    Entities.manage(entity2);
    assertEquals(entity2.getEntityType().getSimpleName(), "with_space");

    CustomTypeNamedEntity entity3 = new CustomTypeNamedEntity(app, "a.b.with$dollar");
    Entities.manage(entity3);
    assertEquals(entity3.getEntityType().getSimpleName(), "with_dollar");

    CustomTypeNamedEntity entity4 = new CustomTypeNamedEntity(app, "a.nothingafterdot.");
    Entities.manage(entity4);
    assertEquals(entity4.getEntityType().getSimpleName(), "a.nothingafterdot.");
  }