### Question:
RadioButtonDrivenTextFieldsPane extends GridPane { public void addRow(RadioButton radio, Region field, Text helpIcon) { requireNotNullArg(radio, "Cannot add a null radio"); requireNotNullArg(field, "Cannot add a null field"); GridPane.setValignment(radio, VPos.BOTTOM); GridPane.setValignment(field, VPos.BOTTOM); GridPane.setHalignment(radio, HPos.LEFT); GridPane.setHalignment(field, HPos.LEFT); GridPane.setFillWidth(field, true); field.setPrefWidth(300); field.setDisable(true); radio.selectedProperty().addListener((o, oldVal, newVal) -> { field.setDisable(!newVal); if (newVal) { field.requestFocus(); } }); radio.setToggleGroup(group); add(radio, 0, rows); add(field, 1, rows); if (nonNull(helpIcon)) { add(helpIcon, 2, rows); } rows++; } RadioButtonDrivenTextFieldsPane(ToggleGroup group); void addRow(RadioButton radio, Region field, Text helpIcon);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void nullRadio() { victim.addRow(null, new TextField(), HelpUtils.helpIcon("Help")); }
@Test(expected = IllegalArgumentException.class) public void nullField() { victim.addRow(new RadioButton(), null, HelpUtils.helpIcon("Help")); }
@Test public void nullHelp() { WaitForAsyncUtils.waitForAsyncFx(2000, () -> victim.addRow(new RadioButton(), new TextField(), null)); }
@Test public void addRow() { RadioButton radio = lookup("RADIO").queryAs(RadioButton.class); TextField field = lookup(".FIELD").queryAs(TextField.class); assertEquals(group, radio.getToggleGroup()); assertTrue(field.isDisable()); }