### Question:
RectangleI implements Sc2ApiSerializable<Common.RectangleI> { public static RectangleI from(Common.RectangleI sc2ApiRectangleI) { require("sc2api rectanglei", sc2ApiRectangleI); return new RectangleI(sc2ApiRectangleI); } private  RectangleI(Common.RectangleI sc2ApiRectangleI); private  RectangleI(PointI p0, PointI p1); static RectangleI from(Common.RectangleI sc2ApiRectangleI); static RectangleI of(PointI p0, PointI p1); @Override Common.RectangleI toSc2Api(); PointI getP0(); PointI getP1(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void throwsExceptionWhenSc2ApiRectangleIIsNull() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> RectangleI.from(nothing())) .withMessage("sc2api rectanglei is required"); }