### Question:
ColorUtilities { public static Color darken(Color input, double factor) { if (factor < BRIGHTNESS_FACTOR_MIN || factor > BRIGHTNESS_FACTOR_MAX) { throw new IllegalArgumentException("Color brighten factor must be between 0.01 and 0.99"); } return new Color(Math.max((int)(input.getRed() * factor), 0), Math.max((int)(input.getGreen() * factor), 0), Math.max((int)(input.getBlue() * factor), 0), input.getAlpha()); } private  ColorUtilities(); static Color blendColors(Color color1, Color color2); static Color brighten(Color input, double factor); static Color convertFromColorString(String color); static Color convertFromHexString(String color, int redIndex, int greenIndex, int blueIndex); static Color convertFromHexString(String color, int redIndex, int greenIndex, int blueIndex, int alphaIndex); static String convertToHexString(Color color, int redIndex, int greenIndex, int blueIndex); static String convertToHexString(Color color, int redIndex, int greenIndex, int blueIndex, int alphaIndex); static String convertToRGBAColorString(Color aColor); static Color darken(Color input, double factor); static Color lighten(Color color); static int getBrightness(Color color); static Color getContrastingColor(Color color); static Color getAlternateColor(Color color, int shift); static boolean isEqual(Color c1, Color c2); static boolean isEqualIgnoreAlpha(Color c1, Color c2); static Color opacitizeColor(Color startingColor, float alpha); static Color opacitizeColor(Color startingColor, int alpha); static final int COLOR_COMPONENT_MAX_VALUE; }### Answer:
@Test public void testDarken() { Color color1 = new Color(40, 40, 40); Assert.assertEquals(color1.darker(), ColorUtilities.darken(color1, .7)); Color color2 = new Color(40, 40, 40, 10); Assert.assertEquals(ColorUtilities.opacitizeColor(color2.darker(), 10), ColorUtilities.darken(color2, .7)); }