1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.text.translate;
18
19 import static org.assertj.core.api.Assertions.assertThat;
20
21 import java.io.IOException;
22 import java.io.StringWriter;
23 import java.util.HashMap;
24 import java.util.Map;
25
26 import org.junit.jupiter.api.Test;
27
28
29
30
31 public class AggregateTranslatorTest {
32
33 @Test
34 public void testNonNull() throws IOException {
35 final Map<CharSequence, CharSequence> oneTwoMap = new HashMap<>();
36 oneTwoMap.put("one", "two");
37 final Map<CharSequence, CharSequence> threeFourMap = new HashMap<>();
38 threeFourMap.put("three", "four");
39 final CharSequenceTranslator translator1 = new LookupTranslator(oneTwoMap);
40 final CharSequenceTranslator translator2 = new LookupTranslator(threeFourMap);
41 final AggregateTranslator subject = new AggregateTranslator(translator1, translator2);
42 final StringWriter out1 = new StringWriter();
43 final int result1 = subject.translate(new StringBuffer("one"), 0, out1);
44 assertThat(result1).as("Incorrect code point consumption").isEqualTo(3);
45 assertThat(out1.toString()).as("Incorrect value").isEqualTo("two");
46 final StringWriter out2 = new StringWriter();
47 final int result2 = subject.translate(new StringBuffer("three"), 0, out2);
48 assertThat(result2).as("Incorrect code point consumption").isEqualTo(5);
49 assertThat(out2.toString()).as("Incorrect value").isEqualTo("four");
50 }
51
52 @Test
53 public void testNullConstructor() {
54 final String testString = "foo";
55 final AggregateTranslator subject = new AggregateTranslator((CharSequenceTranslator[]) null);
56 assertThat(subject.translate(testString)).isEqualTo(testString);
57 }
58
59 @Test
60 public void testNullVarargConstructor() {
61 final String testString = "foo";
62 final AggregateTranslator subject = new AggregateTranslator((CharSequenceTranslator) null);
63 assertThat(subject.translate(testString)).isEqualTo(testString);
64 }
65
66 }