### Question:
NumberFieldActions implements AtlasFieldAction { @AtlasActionProcessor public static Number minimum(Minimum minimum, List<Number> inputs) { if (inputs == null) { return 0; } Number min = null; for (Object entry : inputs) { if (entry instanceof Number) { if (min instanceof BigDecimal && entry instanceof BigDecimal) { min = ((BigDecimal) entry).min((BigDecimal)min); } else if (min == null || ((Number) entry).doubleValue() < min.doubleValue()) { min = (Number) entry; } } else { warnIgnoringValue("Minimum", entry); } } return min; }  @AtlasActionProcessor static Number absoluteValue(AbsoluteValue action, Number input); @AtlasActionProcessor static Number add(Add action, List<Number> inputs); @AtlasActionProcessor static Number average(Average action, List<Number> inputs); @AtlasActionProcessor static Number ceiling(Ceiling action, Number input); @AtlasActionProcessor static Number convertMassUnit(ConvertMassUnit convertMassUnit, Number input); @AtlasActionProcessor static Number convertDistanceUnit(ConvertDistanceUnit convertDistanceUnit, Number input); @AtlasActionProcessor static Number convertAreaUnit(ConvertAreaUnit convertAreaUnit, Number input); @AtlasActionProcessor static Number convertVolumeUnit(ConvertVolumeUnit convertVolumeUnit, Number input); @AtlasActionProcessor static Number divide(Divide divide, List<Number> inputs); @AtlasActionProcessor static Number floor(Floor floor, Number input); @AtlasActionProcessor static Number maximum(Maximum maximum, List<Number> inputs); @AtlasActionProcessor static Number minimum(Minimum minimum, List<Number> inputs); @AtlasActionProcessor static Number multiply(Multiply multiply, List<Number> inputs); @AtlasActionProcessor static Number round(Round action, Number input); @AtlasActionProcessor static Number subtract(Subtract subtract, List<Number> inputs);  }### Answer:
@Test public void testMinimum() { assertEquals(BigDecimal.valueOf(1), NumberFieldActions.minimum(new Minimum(), Arrays.asList(new BigDecimal[] { BigDecimal.valueOf(1), BigDecimal.valueOf(2), BigDecimal.valueOf(3), BigDecimal.valueOf(4) }))); assertEquals(1.0, NumberFieldActions.minimum(new Minimum(), Arrays.asList(1.0, 2.0, 3.0, 4.0))); assertEquals(1, NumberFieldActions.minimum(new Minimum(), Arrays.asList(1, 2, 3, 4))); assertEquals((byte) 1, NumberFieldActions.minimum(new Minimum(), Arrays.asList((byte) 1, 2, 3.0, BigDecimal.valueOf(4)))); assertEquals(0, NumberFieldActions.minimum(new Minimum(), null)); assertEquals(1, NumberFieldActions.minimum(new Minimum(), Arrays.asList(null, 1, 2, null, 3, 4, null))); }