//This product is provided under the terms of EPL (Eclipse Public License)
//version 1.0.
//
//The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php
package org.dtangler.swingui.dsm.impl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.awt.Color;
import javax.swing.JLabel;
import org.dtangler.ui.dsm.MockCellInfo;
import org.dtangler.ui.dsm.NullCellInfo;
import org.junit.Test;
public class CellInfoTableCellRendererTest {
private JLabel getRenderedComponent(Object value) {
return (JLabel) new CellInfoTableCellRenderer()
.getTableCellRendererComponent(null, value, false, false, 0, 0);
}
@Test
public void testRenderNullCellInfo() {
JLabel c = getRenderedComponent(NullCellInfo.instance);
assertTrue(c.isOpaque());
assertEquals(Color.gray.darker(), c.getBackground());
assertEquals("", c.getText());
}
@Test
public void testRenderSelectedCellInfo() {
JLabel c = getRenderedComponent(new MockCellInfo(3, true, false));
assertTrue(c.isOpaque());
assertEquals(CellInfoTableCellRenderer.NORMAL_SELECTION_BG, c
.getBackground());
assertEquals("3", c.getText());
}
@Test
public void testRenderNonSelectedCellInfo() {
JLabel c = getRenderedComponent(new MockCellInfo(5, false, false));
assertFalse(c.isOpaque());
assertEquals("5", c.getText());
}
@Test
public void testRenderSelectedCellInfoWithCycles() {
JLabel c = getRenderedComponent(new MockCellInfo(3, true, true));
assertTrue(c.isOpaque());
assertEquals(CellInfoTableCellRenderer.ERROR_SELECTION_BG, c
.getBackground());
assertEquals("3", c.getText());
}
@Test
public void testRenderNonSelectedCellInfoWithCycles() {
JLabel c = getRenderedComponent(new MockCellInfo(3, false, true));
assertTrue(c.isOpaque());
assertEquals(Color.red, c.getBackground());
assertEquals("3", c.getText());
}
}