### Question:
Alterable { public int decrease(double extrp, int decrease) { final int remain = getCurrent(); final double decreased = remain - decrease * extrp; set(decreased); if (decreased < 0) { return remain; } return decrease; } Alterable(int max);  Alterable(int max, boolean overMax); int increase(double extrp, int increase); int increase(int increase); int decrease(double extrp, int decrease); int decrease(int decrease); void fill(); void reset(); void set(int value); void setMax(int max); int getMax(); int getCurrent(); int getPercent(); int getNeeded(int value); boolean isFull(); boolean isEmpty(); boolean isEnough(int value); static final int MIN; }### Answer:
@Test void testDecrease() { final Alterable alterable = new Alterable(3); alterable.fill(); alterable.decrease(1); assertEquals(2, alterable.getCurrent()); alterable.decrease(2.0, 1); assertEquals(0, alterable.getCurrent()); alterable.decrease(1); assertEquals(0, alterable.getCurrent()); }