public static BufferedImage outlineImage(final BufferedImage image, final Color color)
	{
		return outlineImage(image, color, false);
	}
@Test
	public void outlineImage()
	{
		// outlineImage(BufferedImage image, Color color)
		BufferedImage expected = new BufferedImage(CENTERED_SIZE, CENTERED_SIZE, BufferedImage.TYPE_INT_ARGB);
		for (int x = 0; x < expected.getWidth(); x++)
		{
			for (int y = 0; y < expected.getHeight(); y++)
			{
				if (x != 1 && y != 1)
				{
					continue;
				}
				expected.setRGB(x, y, BLACK.getRGB());
			}
		}
		assertTrue(bufferedImagesEqual(expected, ImageUtil.outlineImage(centeredPixel(BLACK), BLACK)));
		expected.setRGB(1, 1, WHITE.getRGB());
		assertTrue(bufferedImagesEqual(expected, ImageUtil.outlineImage(centeredPixel(WHITE), BLACK)));
		expected = solidColor(CORNER_SIZE, CORNER_SIZE, WHITE);
		expected.setRGB(0, 0, BLACK.getRGB());
		expected.setRGB(1, 1, new Color(0, true).getRGB());
		assertTrue(bufferedImagesEqual(expected, ImageUtil.outlineImage(BLACK_PIXEL_TOP_LEFT, WHITE)));

		// outlineImage(BufferedImage image, Color color, Boolean outlineCorners)
		expected = solidColor(CORNER_SIZE, CORNER_SIZE, WHITE);
		expected.setRGB(0, 0, BLACK.getRGB());
		assertTrue(bufferedImagesEqual(expected, ImageUtil.outlineImage(BLACK_PIXEL_TOP_LEFT, WHITE, true)));
		assertTrue(bufferedImagesEqual(solidColor(3, 3, BLACK), ImageUtil.outlineImage(centeredPixel(BLACK), BLACK, true)));
	}