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.assertThrows;
21
22 import java.io.IOException;
23 import java.io.StringWriter;
24 import java.io.Writer;
25
26 import org.junit.jupiter.api.BeforeEach;
27 import org.junit.jupiter.api.Test;
28
29
30
31
32 class SinglePassTranslatorTest {
33
34 private final SinglePassTranslator dummyTranslator = new SinglePassTranslator() {
35
36 @Override
37 void translateWhole(final CharSequence input, final Writer writer) throws IOException {
38
39 }
40 };
41
42 private StringWriter out;
43
44 @BeforeEach
45 public void before() {
46 out = new StringWriter();
47 }
48
49 @Test
50 void testCodePointsAreReturned() throws Exception {
51 assertEquals(0, dummyTranslator.translate("", 0, out));
52 assertEquals(3, dummyTranslator.translate("abc", 0, out));
53 assertEquals(7, dummyTranslator.translate("abcdefg", 0, out));
54 }
55
56 @Test
57 void testIndexIsValidated() {
58 assertThrows(IllegalArgumentException.class, () -> dummyTranslator.translate("abc", 1, out));
59 }
60
61 @Test
62 void testTranslateThrowsIllegalArgumentException() {
63 assertThrows(IllegalArgumentException.class, () -> dummyTranslator.translate("(,Fk", 647, null));
64 }
65
66 }