### Question:
Graphics { public static ImageBuffer[] splitImage(ImageBuffer image, int h, int v) { return factoryGraphic.splitImage(image, h, v); } private  Graphics(); static void setFactoryGraphic(FactoryGraphic factoryGraphic); static Screen createScreen(Config config); static Graphic createGraphic(); static Transform createTransform(); static Text createText(int size); static Text createText(String fontName, int size, TextStyle style); static ImageBuffer createImageBuffer(int width, int height); static ImageBuffer createImageBuffer(int width, int height, ColorRgba transparency); static ImageBuffer getImageBuffer(Media media); static ImageBuffer getImageBuffer(ImageBuffer imageBuffer); static ImageBuffer applyMask(ImageBuffer imageBuffer, ColorRgba maskColor); static ImageBuffer[] splitImage(ImageBuffer image, int h, int v); static ImageBuffer rotate(ImageBuffer image, int angle); static ImageBuffer resize(ImageBuffer image, int width, int height); static ImageBuffer flipHorizontal(ImageBuffer image); static ImageBuffer flipVertical(ImageBuffer image); static void saveImage(ImageBuffer image, Media media); static ImageBuffer getRasterBuffer(ImageBuffer img, double fr, double fg, double fb);  }### Answer:
@Test void testSplitImage() { final ImageBuffer image = Graphics.getImageBuffer(Medias.create("image.png")); final ImageBuffer[] split = Graphics.splitImage(image, 2, 2); for (final ImageBuffer img1 : split) { for (final ImageBuffer img2 : split) { assertEquals(img1.getWidth(), img2.getWidth()); assertEquals(img1.getHeight(), img2.getHeight()); } } assertEquals(image.getWidth() / 2, split[0].getWidth()); assertEquals(image.getHeight() / 2, split[0].getHeight()); for (final ImageBuffer current : split) { current.dispose(); } image.dispose(); }