1 package org.springframework.richclient.table.renderer;
2
3 import java.awt.Component;
4 import java.util.Locale;
5
6 import javax.swing.JTable;
7 import javax.swing.table.TableColumnModel;
8
9 import junit.framework.TestCase;
10
11 import org.springframework.context.support.MessageSourceAccessor;
12 import org.springframework.context.support.StaticMessageSource;
13
14
15
16
17 public class EnumTableCellRendererTests extends TestCase {
18
19 public enum Numbers {
20
21 ONE,
22 TWO,
23 THREE,
24 FOUR,
25 FIVE,
26 SIX,
27 SEVEN,
28 EIGHT,
29 NINE,
30 TEN;
31
32 }
33
34 private EnumTableCellRenderer tetcr;
35
36 public void testGetTableCellRendererComponent() {
37 StaticMessageSource messageSource = new StaticMessageSource();
38 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.ONE", Locale.getDefault(), "one");
39 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.TWO", Locale.getDefault(), "two");
40 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.THREE", Locale.getDefault(), "three");
41 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.FOUR", Locale.getDefault(), "four");
42 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.FIVE", Locale.getDefault(), "five");
43 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.SIX", Locale.getDefault(), "six");
44 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.SEVEN", Locale.getDefault(), "seven");
45 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.EIGHT", Locale.getDefault(), "eight");
46 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.NINE", Locale.getDefault(), "nine");
47 messageSource.addMessage("org.springframework.richclient.table.renderer.EnumTableCellRendererTests$Numbers.TEN", Locale.getDefault(), "ten");
48 MessageSourceAccessor msa = new MessageSourceAccessor(messageSource);
49 tetcr = new EnumTableCellRenderer(msa);
50 Object[][] rowData = {
51 { Numbers.ONE },
52 { Numbers.TWO },
53 { Numbers.THREE },
54 { Numbers.FOUR },
55 { Numbers.FIVE },
56 { Numbers.SIX },
57 { Numbers.SEVEN },
58 { Numbers.EIGHT },
59 { Numbers.NINE },
60 { Numbers.TEN }
61 };
62 Object[] columnNames = { "Numbers" };
63 JTable table = new JTable(rowData, columnNames);
64 TableColumnModel tcm = table.getColumnModel();
65 tcm.getColumn(0).setCellRenderer(tetcr);
66 tetcr.getTableCellRendererComponent(table, Numbers.SEVEN, false, false, 6, 0);
67 Component component = tetcr.getTableCellRendererComponent(table, Numbers.SEVEN, false, false, 6, 0);
68 assertTrue(component instanceof EnumTableCellRenderer);
69 }
70 }