public void testGetComponentNames_BitmaskExprEditor() { final ParamProperties properties = new ParamProperties(String.class); properties.setLabel(LABEL_NAME); properties.setPhysicalUnit(UNIT_NAME); properties.setDefaultValue(Color.red); properties.setEditorClass(BooleanExpressionEditor.class); properties.setValidatorClass(BooleanExpressionValidator.class); final Parameter parameter = new Parameter(PARAM_NAME, properties); ParamEditor editor = parameter.getEditor(); assertTrue(editor instanceof BooleanExpressionEditor); final BooleanExpressionEditor bitmaskExprEditor = (BooleanExpressionEditor) editor; final JComponent editorComponent = bitmaskExprEditor.getEditorComponent(); assertEquals("theParamName.XEditor", editorComponent.getName()); final Component[] components = editorComponent.getComponents(); assertEquals(2, components.length); assertEquals("theParamName.Editor", components[0].getName()); assertEquals("theParamName.ButtonPanel", components[1].getName()); assertEquals(JTextField.class.getName(), components[0].getClass().getName()); assertEquals(JPanel.class.getName(), components[1].getClass().getName()); final JPanel buttonPanel = ((JPanel) components[1]); assertEquals(1, buttonPanel.getComponentCount()); assertEquals(JButton.class.getName(), buttonPanel.getComponents()[0].getClass().getName()); assertEquals("theParamName.Label", bitmaskExprEditor.getLabelComponent().getName()); assertEquals(LABEL_NAME + ": ", bitmaskExprEditor.getLabelComponent().getText()); assertEquals("theParamName.Unit", bitmaskExprEditor.getPhysUnitLabelComponent().getName()); assertEquals(" " + UNIT_NAME, bitmaskExprEditor.getPhysUnitLabelComponent().getText()); }