One JDK 5 feature I have started using to clean up my testing is varargs, the ... (or … for the entity-aware). It is particularly elegant to turn this:
public void testWidgetProcessor() throws Exception { final Widget expected1 = createWidget(), expected2 = createWidget(); processor.swallow(new Widget[]{ expected1, expected2 }); assertWidgetsGained(new Widget[] { expected1, expected2 }); }
Into this:
public void testWidgetProcessor() throws Exception { final Widget expected1 = createWidget(), expected2 = createWidget(); processor.swallow(expected1, expected2); assertWidgetsGained(expected1, expected2); }
And even better:
public void testWidgetProcessorHandlesTrivialCase() throws Exception { assertWidgetsGained(); // nothing swallowed, nothing gained }
No comments:
Post a Comment