1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package ch.qos.cal10n;
24
25 import static org.junit.Assert.assertEquals;
26 import static org.junit.Assert.fail;
27
28 import java.util.Locale;
29
30 import org.junit.Test;
31
32 import ch.qos.cal10n.sample.Colors;
33 import ch.qos.cal10n.sample.Host.OtherColors;
34
35 public class MessageConveyorTest {
36
37 @Test
38 public void smoke_EN() {
39 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
40 String val;
41
42 val = rbbmc.getMessage(Colors.BLUE);
43 assertEquals("violets are blue", val);
44
45 val = rbbmc.getMessage(Colors.GREEN, "apples");
46 assertEquals("apples are green", val);
47 }
48
49
50 @Test
51 public void nestedEnum_EN() {
52 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
53 String val;
54
55 val = rbbmc.getMessage(Colors.RED);
56 assertEquals("roses are red", val);
57
58 val = rbbmc.getMessage(OtherColors.RED);
59 assertEquals("roses are red", val);
60
61 val = rbbmc.getMessage(OtherColors.BLUE);
62 assertEquals("violets are blue", val);
63 }
64
65 @Test
66 public void smoke_FR() {
67 MessageConveyor rbbmc = new MessageConveyor(Locale.FRANCE);
68 String val;
69
70 val = rbbmc.getMessage(Colors.BLUE);
71 assertEquals("les violettes sont bleues", val);
72
73
74
75 val = rbbmc.getMessage(Colors.GREEN, "pommes");
76 assertEquals("les pommes sont verts", val);
77 }
78
79 @Test
80 public void mpo() {
81 MessageConveyor rbbmc = new MessageConveyor(Locale.UK);
82 MessageParameterObj mpo;
83 String val;
84
85 mpo = new MessageParameterObj(Colors.BLUE);
86 val = rbbmc.getMessage(mpo);
87 assertEquals("violets are blue", val);
88
89 mpo = new MessageParameterObj(Colors.GREEN, "apples");
90 val = rbbmc.getMessage(mpo);
91 assertEquals("apples are green", val);
92 }
93
94 @Test
95 public void failedRBLookup() {
96
97 MessageConveyor mc = new MessageConveyor(Locale.CHINA);
98 try {
99 mc.getMessage(Colors.BLUE);
100 fail("missing exception");
101 } catch (MessageConveyorException e) {
102 assertEquals(
103 "Failed to locate resource bundle [colors] for locale [zh_CN] for enum type [ch.qos.cal10n.sample.Colors]",
104 e.getMessage());
105 }
106 }
107
108 }