### Question:
PageLayout { @Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj instanceof PageLayout) { PageLayout that = (PageLayout) obj; return (Arrays.equals(this.margin, that.margin) && this.width.equals(that.width) && this.height.equals(that.height)); } return false; } PageLayout(Double width, Double height); static PageLayout A0(); static PageLayout A1(); static PageLayout A2(); static PageLayout A3(); static PageLayout A4(); static PageLayout A5(); static PageLayout A6(); static PageLayout A7(); static PageLayout A8(); static PageLayout A9(); static PageLayout A10(); Double getWidth(); PageLayout setWidth(Double width); Double getHeight(); PageLayout setHeight(Double height); Double[] getMargin(); PageLayout setMargin(Double... margin); PageLayout setMarginTop(double top); double getMarginTop(); PageLayout setMarginRight(double right); double getMarginRight(); PageLayout setMarginBottom(double bottom); double getMarginBottom(); PageLayout setMarginLeft(double left); double getMarginLeft(); double contentWidth(); double contentHeight(); double getStartX(); double getStartY(); Rectangle getWorkerArea(); CT_PageArea getPageArea(); @Override boolean equals(Object obj);  }### Answer:
@Test void testEquals() { final PageLayout a4 = PageLayout.A4(); PageLayout a4Copy = a4; assertTrue(a4.equals(a4Copy)); PageLayout customA4 = new PageLayout(210d, 297d); assertTrue(a4.equals(customA4)); }