@Test
public void testWithInit() {
SchemaProperties schemaProperties = new SchemaProperties("testSchema");
assertEquals("testSchema", schemaProperties.getName());
assertEquals(0, schemaProperties.getForms().size());
schemaProperties.init();
assertEquals("schema", schemaProperties.schema.getName());
assertNotNull(schemaProperties.schema.getValue());
assertThat(schemaProperties.schema.getValue(), instanceOf(Schema.class));
assertEquals(2, schemaProperties.getForms().size());
assertNotNull(schemaProperties.getForm(Form.MAIN));
assertNotNull("Schema", schemaProperties.getForm(Form.MAIN).getName());
assertNotNull(schemaProperties.getForm(Form.MAIN).getWidget(schemaProperties.schema.getName()));
assertEquals(1, schemaProperties.getForm(Form.MAIN).getWidget(schemaProperties.schema.getName()).getRow());
assertEquals(Widget.SCHEMA_EDITOR_WIDGET_TYPE,
schemaProperties.getForm(Form.MAIN).getWidget(schemaProperties.schema.getName()).getWidgetType());
assertNotNull(schemaProperties.getForm(Form.REFERENCE));
assertNotNull("Schema", schemaProperties.getForm(Form.REFERENCE).getName());
assertNotNull(schemaProperties.getForm(Form.REFERENCE).getWidget(schemaProperties.schema.getName()));
assertEquals(1, schemaProperties.getForm(Form.REFERENCE).getWidget(schemaProperties.schema.getName()).getRow());
assertEquals(Widget.SCHEMA_REFERENCE_WIDGET_TYPE,
schemaProperties.getForm(Form.REFERENCE).getWidget(schemaProperties.schema.getName()).getWidgetType());
Schema schema = new Schema.Parser().parse(schemaProperties.schema.getStringValue());
assertThat(schema, not(nullValue()));
}