### Question:
MultiPanel implements Serializable { public static MultiPanel from(Ui.MultiPanel sc2ApiMultiPanel) { require("sc2api multi panel", sc2ApiMultiPanel); return new MultiPanel(sc2ApiMultiPanel); } private  MultiPanel(Ui.MultiPanel sc2ApiMultiPanel); static MultiPanel from(Ui.MultiPanel sc2ApiMultiPanel); List<UnitInfo> getUnits(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiMultiPanelIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> MultiPanel.from(nothing())) .withMessage("sc2api multi panel is required"); }
@Test void convertsAllFieldsFromSc2ApiMultiPanel() { assertThatAllFieldsAreConverted(MultiPanel.from(sc2ApiMultiPanel())); }
@Test void fulfillsEqualsContract() { EqualsVerifier .forClass(MultiPanel.class) .withNonnullFields("units") .withPrefabValues(UnitInfo.class, UnitInfo.from(sc2ApiUnitInfoAddOn()), UnitInfo.from(sc2ApiUnitInfo())) .verify(); }