}
@Test
public void testEnumerations() {
ComponentTableModel componentTableModel = Mockito.mock(ComponentTableModel.class);
TableCellSettings settings1 = Mockito.mock(TableCellSettings.class);
TableCellSettings settings2 = Mockito.mock(TableCellSettings.class);
TableCellSettings settings3 = Mockito.mock(TableCellSettings.class);
TableCellSettings settings4 = Mockito.mock(TableCellSettings.class);
AbstractComponent compWithFeed1 = Mockito.mock(AbstractComponent.class);
AbstractComponent compWithFeed2 = Mockito.mock(AbstractComponent.class);
AbstractComponent compWithFeed3 = Mockito.mock(AbstractComponent.class);
AbstractComponent compWithFeed4 = Mockito.mock(AbstractComponent.class);
Mockito.when(compWithFeed1.getComponentId()).thenReturn("comp 1");
Mockito.when(compWithFeed2.getComponentId()).thenReturn("comp 2");
Mockito.when(compWithFeed3.getComponentId()).thenReturn("comp 3");
Mockito.when(compWithFeed4.getComponentId()).thenReturn("comp 4");
AbstractComponent evaluator1 = Mockito.mock(AbstractComponent.class);
AbstractComponent evaluator2 = Mockito.mock(AbstractComponent.class);
AbstractComponent evaluator3 = Mockito.mock(AbstractComponent.class);
AbstractComponent evaluator4 = Mockito.mock(AbstractComponent.class);
Mockito.when(evaluator1.getId()).thenReturn("eval 1");
Mockito.when(evaluator2.getId()).thenReturn("eval 2");
Mockito.when(evaluator3.getId()).thenReturn("eval 3");
Mockito.when(evaluator4.getId()).thenReturn("eval 4");
Mockito.when(settings1.getEvaluator()).thenReturn(evaluator1);
Mockito.when(settings2.getEvaluator()).thenReturn(null);
Mockito.when(settings3.getEvaluator()).thenReturn(evaluator2);
Mockito.when(settings4.getEvaluator()).thenReturn(evaluator1);
FeedProvider mockFp1 = Mockito.mock(FeedProvider.class);
FeedProvider mockFp2 = Mockito.mock(FeedProvider.class);
FeedProvider mockFp3 = Mockito.mock(FeedProvider.class);
FeedProvider mockFp4 = Mockito.mock(FeedProvider.class);
Mockito.when(mockFp1.getSubscriptionId()).thenReturn("sub1");
Mockito.when(mockFp2.getSubscriptionId()).thenReturn("sub2");
Mockito.when(mockFp3.getSubscriptionId()).thenReturn("sub3");
Mockito.when(mockFp4.getSubscriptionId()).thenReturn("sub4");
Mockito.when(compWithFeed1.getCapability(FeedProvider.class)).thenReturn(mockFp1);
Mockito.when(compWithFeed2.getCapability(FeedProvider.class)).thenReturn(mockFp2);
Mockito.when(compWithFeed3.getCapability(FeedProvider.class)).thenReturn(mockFp3);
Mockito.when(compWithFeed4.getCapability(FeedProvider.class)).thenReturn(mockFp4);
Mockito.when(componentTableModel.getStoredValueAt(Mockito.anyInt(), Mockito.anyInt())).thenReturn(compWithFeed1);
Assert.assertEquals(compWithFeed1.getComponentId(), "comp 1");
Mockito.when(componentTableModel.getKey(compWithFeed1)).thenReturn("sub1");
Mockito.when(componentTableModel.getKey(compWithFeed2)).thenReturn("sub2");
Mockito.when(componentTableModel.getKey(compWithFeed3)).thenReturn("sub3");
Mockito.when(componentTableModel.getKey(compWithFeed4)).thenReturn("sub4");
Mockito.when(componentTableModel.getCellSettings("sub1")).thenReturn(settings1);
Mockito.when(componentTableModel.getCellSettings("sub2")).thenReturn(settings2);
Mockito.when(componentTableModel.getCellSettings("sub3")).thenReturn(settings3);
Mockito.when(componentTableModel.getCellSettings("sub4")).thenReturn(settings4);
controller = new TableControlPanelController(manifestation, labeledTable, componentTableModel);
Mockito.when(labeledTable.getSelectedRows()).thenReturn(new int[] {0,1,2,3});
Mockito.when(labeledTable.getSelectedColumns()).thenReturn(new int[] {0});
Assert.assertFalse(controller.selectedCellsHaveMixedEnumerations());
// Test false
Mockito.when(componentTableModel.getStoredValueAt(3, 0)).thenReturn(compWithFeed4);
Assert.assertFalse(controller.selectedCellsHaveMixedEnumerations());
// Test true/mixed enums case
Mockito.when(componentTableModel.getStoredValueAt(1, 0)).thenReturn(compWithFeed2);
Assert.assertTrue(controller.selectedCellsHaveMixedEnumerations());
}