001 package org.springframework.richclient.table.renderer;
002
003 import java.awt.Component;
004 import java.util.Locale;
005
006 import javax.swing.JTable;
007 import javax.swing.table.TableColumnModel;
008
009 import junit.framework.TestCase;
010
011 import org.springframework.context.support.MessageSourceAccessor;
012 import org.springframework.context.support.StaticMessageSource;
013
014 /**
015 * @author Xavier Breton
016 */
017 public class EnumTableCellRendererTests extends TestCase {
018
019 public enum Numbers {
020
021 ONE,
022 TWO,
023 THREE,
024 FOUR,
025 FIVE,
026 SIX,
027 SEVEN,
028 EIGHT,
029 NINE,
030 TEN;
031
032 }
033
034 private EnumTableCellRenderer tetcr;
035
036 public void testGetTableCellRendererComponent() {
037 StaticMessageSource messageSource = new StaticMessageSource();
038 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.ONE", Locale.getDefault(), "one");
039 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.TWO", Locale.getDefault(), "two");
040 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.THREE", Locale.getDefault(), "three");
041 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.FOUR", Locale.getDefault(), "four");
042 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.FIVE", Locale.getDefault(), "five");
043 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.SIX", Locale.getDefault(), "six");
044 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.SEVEN", Locale.getDefault(), "seven");
045 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.EIGHT", Locale.getDefault(), "eight");
046 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.NINE", Locale.getDefault(), "nine");
047 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.TEN", Locale.getDefault(), "ten");
048 MessageSourceAccessor msa = new MessageSourceAccessor(messageSource);
049 tetcr = new EnumTableCellRenderer(msa);
050 Object[][] rowData = {
051 { Numbers.ONE },
052 { Numbers.TWO },
053 { Numbers.THREE },
054 { Numbers.FOUR },
055 { Numbers.FIVE },
056 { Numbers.SIX },
057 { Numbers.SEVEN },
058 { Numbers.EIGHT },
059 { Numbers.NINE },
060 { Numbers.TEN }
061 };
062 Object[] columnNames = { "Numbers" };
063 JTable table = new JTable(rowData, columnNames);
064 TableColumnModel tcm = table.getColumnModel();
065 tcm.getColumn(0).setCellRenderer(tetcr);
066 tetcr.getTableCellRendererComponent(table, Numbers.SEVEN, false, false, 6, 0);
067 Component component = tetcr.getTableCellRendererComponent(table, Numbers.SEVEN, false, false, 6, 0);
068 assertTrue(component instanceof EnumTableCellRenderer);
069 }
070 }