1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.betwixt.strategy;
19
20 import junit.framework.Test;
21 import junit.framework.TestCase;
22 import junit.framework.TestSuite;
23
24
25
26
27
28
29 public class TestBadCharacterReplacingNMapper extends TestCase {
30
31
32 public static Test suite() {
33 return new TestSuite(TestBadCharacterReplacingNMapper.class);
34 }
35
36 public TestBadCharacterReplacingNMapper(String testName) {
37 super(testName);
38 }
39
40 public void testNoReplacementBadFirstNoChainedMapper() {
41 String name="$LoadsOfMoney";
42 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(null);
43 String out = mapper.mapTypeToElementName(name);
44 assertEquals("Expected", "LoadsOfMoney", out);
45 }
46
47 public void testNoReplacementBadFirstWithChainedMapper() {
48 String name="$LOADSŁOF$MONEY";
49 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(new PlainMapper());
50 String out = mapper.mapTypeToElementName(name);
51 assertEquals("Expected", "LOADSOFMONEY", out);
52 }
53
54 public void testNoReplacementGoodFirstNoChainedMapper() {
55 String name="L$oads%OfMone$y$";
56 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(null);
57 String out = mapper.mapTypeToElementName(name);
58 assertEquals("Expected", "LoadsOfMoney", out);
59 }
60
61 public void testNoReplacementGoodFirstWithChainedMapper() {
62 String name="LOADSOFMONE$$Y";
63 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(new PlainMapper());
64 String out = mapper.mapTypeToElementName(name);
65 assertEquals("Expected", "LOADSOFMONEY", out);
66 }
67
68 public void testReplacementBadFirstNoChainedMapper() {
69 String name="$LoadsOfMoney$";
70 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(null);
71 mapper.setReplacement(new Character('_'));
72 String out = mapper.mapTypeToElementName(name);
73 assertEquals("Expected", "_LoadsOfMoney_", out);
74 }
75
76 public void testReplacementBadFirstWithChainedMapper() {
77 String name="$LOADSŁOF$MONEY";
78 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(new PlainMapper());
79 mapper.setReplacement(new Character('_'));
80 String out = mapper.mapTypeToElementName(name);
81 assertEquals("Expected", "_LOADS_OF_MONEY", out);
82 }
83
84 public void testReplacementGoodFirstNoChainedMapper() {
85 String name="L$$$$$oads%OfMone$y$";
86 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(null);
87 mapper.setReplacement(new Character('_'));
88 String out = mapper.mapTypeToElementName(name);
89 assertEquals("Expected", "L_____oads_OfMone_y_", out);
90 }
91
92 public void testReplacementGoodFirstWithChainedMapper() {
93 String name="L$OADSOFMONE$$$$$Y";
94 BadCharacterReplacingNMapper mapper = new BadCharacterReplacingNMapper(new PlainMapper());
95 mapper.setReplacement(new Character('_'));
96 String out = mapper.mapTypeToElementName(name);
97 assertEquals("Expected", "L_OADSOFMONE_____Y", out);
98 }
99
100 private class PlainMapper implements NameMapper {
101 public String mapTypeToElementName(String typeName) {
102 return typeName;
103 }
104 }
105 }