private ViewerCell newCell(int columnIndex, Object element) throws Exception {
final String[] text = new String[1];
final Color[] background = new Color[1];
final Color[] foreground = new Color[1];
ViewerRow row = mock(ViewerRow.class);
given(row.getBackground(columnIndex)).willAnswer(new Answer<Color>() {
@Override
public Color answer(InvocationOnMock invocation) throws Throwable {
return background[0];
}
});
given(row.getForeground(columnIndex)).willAnswer(new Answer<Color>() {
@Override
public Color answer(InvocationOnMock invocation) throws Throwable {
return foreground[0];
}
});
given(row.getText(columnIndex)).willAnswer(new Answer<String>() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
return text[0];
}
});
given(row.getTreePath()).willReturn(new TreePath(new Object[]{element}));
doAnswer(new Answer<Void>() {
@Override
public Void answer(InvocationOnMock invocation) throws Throwable {
background[0] = (Color) invocation.getArguments()[1];