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.junit.jupiter.api.Assertions.assertEquals;
20 import static org.junit.jupiter.api.Assertions.assertTrue;
21
22 import java.io.IOException;
23 import java.io.Writer;
24
25 import org.junit.jupiter.api.Test;
26
27
28 class CharSequenceTranslatorTest {
29
30 private final class TestCharSequenceTranslator extends CharSequenceTranslator {
31 @Override
32 public int translate(final CharSequence input, final int index, final Writer writer) {
33 translateInvocationCounter++;
34 return 0;
35 }
36
37 }
38
39
40 private int translateInvocationCounter;
41
42 @Test
43 void testWith() throws IOException {
44 final CharSequenceTranslator charSequenceTranslatorOne = new TestCharSequenceTranslator();
45 final CharSequenceTranslator charSequenceTranslatorTwo = new TestCharSequenceTranslator();
46 final CharSequenceTranslator charSequenceTranslatorThree = new TestCharSequenceTranslator();
47 final CharSequenceTranslator aggregatedTranslator = charSequenceTranslatorOne.with(charSequenceTranslatorTwo, charSequenceTranslatorThree);
48 aggregatedTranslator.translate("", 0, null);
49 assertTrue(aggregatedTranslator instanceof AggregateTranslator);
50 assertEquals(3, translateInvocationCounter);
51 }
52
53 }