### Question:
DomainTypeFactory { public static <BASIC, DOMAIN> DomainType<BASIC, DOMAIN> getDomainType(Class<DOMAIN> domainClass) { return getDomainType(domainClass, new ClassHelper() {}); }  static DomainType<BASIC, DOMAIN> getDomainType(Class<DOMAIN> domainClass); static DomainType<BASIC, DOMAIN> getDomainType(
      Class<DOMAIN> domainClass, ClassHelper classHelper); static DomainType<BASIC, DOMAIN> getExternalDomainType(
      Class<DOMAIN> domainClass); static DomainType<BASIC, DOMAIN> getExternalDomainType(
      Class<DOMAIN> domainClass, ClassHelper classHelper);  }### Answer:
@Test public void testGetDomainType() { DomainType<String, PhoneNumber> type = DomainTypeFactory.getDomainType(PhoneNumber.class, classHelper); assertNotNull(type); }
@Test public void testGetDomainType_DomaIllegalArgumentException() { try { DomainTypeFactory.getDomainType(Object.class, classHelper); fail(); } catch (DomaIllegalArgumentException e) { System.out.println(e.getMessage()); } }
@Test public void testGetDomainType_DomainTypeNotFoundException() { try { DomainTypeFactory.getDomainType(Money.class, classHelper); fail(); } catch (DomainTypeNotFoundException e) { System.out.println(e.getMessage()); } }