18
18
19
19
import static org .junit .Assert .assertEquals ;
20
20
import static org .junit .Assert .assertNull ;
21
- import static org .mockito .Mockito .inOrder ;
22
- import static org .mockito .Mockito .when ;
21
+ import static org .metafacture .metamorph .TestHelpers .assertMorph ;
23
22
24
- import org .junit .Before ;
25
23
import org .junit .Rule ;
26
24
import org .junit .Test ;
27
25
import org .metafacture .framework .StreamReceiver ;
28
- import org .metafacture .metamorph .InlineMorph ;
29
- import org .metafacture .metamorph .Metamorph ;
30
26
import org .metafacture .metamorph .api .Maps ;
31
- import org .mockito .InOrder ;
32
27
import org .mockito .Mock ;
28
+ import org .mockito .Mockito ;
33
29
import org .mockito .junit .MockitoJUnit ;
34
30
import org .mockito .junit .MockitoRule ;
35
31
36
-
37
32
/**
38
33
* Tests for class {@link Lookup}.
39
34
*
@@ -50,24 +45,16 @@ public final class LookupTest {
50
45
private static final String VALUE = "Kafka" ;
51
46
52
47
@ Rule
53
- public MockitoRule mockito = MockitoJUnit .rule (). silent () ;
48
+ public MockitoRule mockito = MockitoJUnit .rule ();
54
49
55
50
@ Mock
56
51
private Maps maps ;
57
52
58
53
@ Mock
59
54
private StreamReceiver receiver ;
60
55
61
- @ Before
62
- public void initMaps () {
63
- when (maps .getValue (MAP_NAME , KEY )).thenReturn (VALUE );
64
- when (maps .getValue (MAP_NAME , KEY_WRONG )).thenReturn (null );
65
- when (maps .getValue (MAP_NAME_WRONG , KEY )).thenReturn (null );
66
- when (maps .getValue (MAP_NAME_WRONG , KEY_WRONG )).thenReturn (null );
67
- }
68
-
69
56
@ Test
70
- public void shouldReturnNullIfMapNameIsDoesNotExist () {
57
+ public void shouldReturnNullIfMapNameDoesNotExist () {
71
58
final Lookup lookup = new Lookup ();
72
59
lookup .setMaps (maps );
73
60
@@ -82,6 +69,7 @@ public void shouldReturnValueIfMapAndKeyExist() {
82
69
lookup .setMaps (maps );
83
70
84
71
lookup .setIn (MAP_NAME );
72
+ Mockito .when (maps .getValue (MAP_NAME , KEY )).thenReturn (VALUE );
85
73
86
74
assertEquals (VALUE , lookup .process (KEY ));
87
75
}
@@ -98,96 +86,96 @@ public void shouldReturnNullIfKeyDoesNotExist() {
98
86
99
87
@ Test
100
88
public void shouldLookupValuesInLocalMap () {
101
- final Metamorph metamorph = InlineMorph . in ( this )
102
- . with ( "<rules>" )
103
- . with ( " <data source='1'>" )
104
- . with ( " <lookup>" )
105
- . with ( " <entry name='a' value='A' />" )
106
- . with ( " </lookup>" )
107
- . with ( " </data>" )
108
- . with ( " <data source='2'>" )
109
- . with ( " <lookup default='B'>" )
110
- . with ( " <entry name='a' value='A' />" )
111
- . with ( " </lookup>" )
112
- . with ( " </data>" )
113
- . with ( "</rules>" )
114
- . createConnectedTo ( receiver );
115
-
116
- metamorph . startRecord ("1" );
117
- metamorph .literal ("1" , "a " );
118
- metamorph .literal ("1 " , "b " );
119
- metamorph .literal ("2" , "a " );
120
- metamorph . literal ( "2" , "b" );
121
- metamorph . endRecord ();
122
-
123
- final InOrder ordered = inOrder ( receiver );
124
- ordered . verify ( receiver ). startRecord ("1" );
125
- ordered . verify ( receiver ).literal ("1 " , "A" );
126
- ordered . verify ( receiver ).literal ("2" , "A " );
127
- ordered . verify ( receiver ). literal ( "2" , "B" );
128
- ordered . verify ( receiver ). endRecord ();
129
- ordered . verifyNoMoreInteractions ( );
89
+ assertMorph ( receiver ,
90
+ "<rules>" +
91
+ " <data source='1'>" +
92
+ " <lookup>" +
93
+ " <entry name='a' value='A' />" +
94
+ " </lookup>" +
95
+ " </data>" +
96
+ " <data source='2'>" +
97
+ " <lookup default='B'>" +
98
+ " <entry name='a' value='A' />" +
99
+ " </lookup>" +
100
+ " </data>" +
101
+ "</rules>" ,
102
+ i -> {
103
+ i . startRecord ( "1" );
104
+ i . literal ("1" , "a " );
105
+ i .literal ("1" , "b " );
106
+ i .literal ("2 " , "a " );
107
+ i .literal ("2" , "b " );
108
+ i . endRecord ( );
109
+ },
110
+ o -> {
111
+ o . get (). startRecord ( "1" );
112
+ o . get (). literal ("1" , "A " );
113
+ o . get ( ).literal ("2 " , "A" );
114
+ o . get ( ).literal ("2" , "B " );
115
+ o . get (). endRecord ( );
116
+ }
117
+ );
130
118
}
131
119
132
120
@ Test
133
121
public void shouldLookupValuesInReferencedMap () {
134
- final Metamorph metamorph = InlineMorph . in ( this )
135
- . with ( "<rules>" )
136
- . with ( " <data source='1'>" )
137
- . with ( " <lookup in='map1' />" )
138
- . with ( " </data>" )
139
- . with ( " <data source='2'>" )
140
- . with ( " <lookup in='map2' />" )
141
- . with ( " </data>" )
142
- . with ( "</rules>" )
143
- . with ( "<maps>" )
144
- . with ( " <map name='map1'>" )
145
- . with ( " <entry name='a' value='A' />" )
146
- . with ( " </map>" )
147
- . with ( " <map name='map2' default='B'>" )
148
- . with ( " <entry name='a' value='A' />" )
149
- . with ( " </map>" )
150
- . with ( "</maps>" )
151
- . createConnectedTo ( receiver );
152
-
153
- metamorph . startRecord ("1" );
154
- metamorph .literal ("1" , "a " );
155
- metamorph .literal ("1 " , "b " );
156
- metamorph .literal ("2" , "a " );
157
- metamorph . literal ( "2" , "b" );
158
- metamorph . endRecord ();
159
-
160
- final InOrder ordered = inOrder ( receiver );
161
- ordered . verify ( receiver ). startRecord ("1" );
162
- ordered . verify ( receiver ).literal ("1 " , "A" );
163
- ordered . verify ( receiver ).literal ("2" , "A " );
164
- ordered . verify ( receiver ). literal ( "2" , "B" );
165
- ordered . verify ( receiver ). endRecord ();
166
- ordered . verifyNoMoreInteractions ( );
122
+ assertMorph ( receiver ,
123
+ "<rules>" +
124
+ " <data source='1'>" +
125
+ " <lookup in='map1' />" +
126
+ " </data>" +
127
+ " <data source='2'>" +
128
+ " <lookup in='map2' />" +
129
+ " </data>" +
130
+ "</rules>" +
131
+ "<maps>" +
132
+ " <map name='map1'>" +
133
+ " <entry name='a' value='A' />" +
134
+ " </map>" +
135
+ " <map name='map2' default='B'>" +
136
+ " <entry name='a' value='A' />" +
137
+ " </map>" +
138
+ "</maps>" ,
139
+ i -> {
140
+ i . startRecord ( "1" );
141
+ i . literal ("1" , "a " );
142
+ i .literal ("1" , "b " );
143
+ i .literal ("2 " , "a " );
144
+ i .literal ("2" , "b " );
145
+ i . endRecord ( );
146
+ },
147
+ o -> {
148
+ o . get (). startRecord ( "1" );
149
+ o . get (). literal ("1" , "A " );
150
+ o . get ( ).literal ("2 " , "A" );
151
+ o . get ( ).literal ("2" , "B " );
152
+ o . get (). endRecord ( );
153
+ }
154
+ );
167
155
}
168
156
169
157
@ Test
170
158
public void shouldLookupValuesInMetadata () {
171
- final Metamorph metamorph = InlineMorph . in ( this )
172
- . with ( "<meta>" )
173
- . with ( " <name>Hawaii</name>" )
174
- . with ( "</meta>" )
175
- . with ( "<rules>" )
176
- . with ( " <data source='data'>" )
177
- . with ( " <lookup in='__meta' />" )
178
- . with ( " </data>" )
179
- . with ( "</rules>" )
180
- . createConnectedTo ( receiver );
181
-
182
- metamorph . startRecord ( "1 " );
183
- metamorph . literal ( "data" , "name" );
184
- metamorph . endRecord ();
185
-
186
- final InOrder ordered = inOrder ( receiver );
187
- ordered . verify ( receiver ). startRecord ( "1 " );
188
- ordered . verify ( receiver ). literal ( "data" , "Hawaii" );
189
- ordered . verify ( receiver ). endRecord ();
190
- ordered . verifyNoMoreInteractions ( );
159
+ assertMorph ( receiver ,
160
+ "<meta>" +
161
+ " <name>Hawaii</name>" +
162
+ "</meta>" +
163
+ "<rules>" +
164
+ " <data source='data'>" +
165
+ " <lookup in='__meta' />" +
166
+ " </data>" +
167
+ "</rules>" ,
168
+ i -> {
169
+ i . startRecord ( "1" );
170
+ i . literal ( "data" , "name " );
171
+ i . endRecord ( );
172
+ },
173
+ o -> {
174
+ o . get (). startRecord ( "1" );
175
+ o . get (). literal ( "data" , "Hawaii " );
176
+ o . get (). endRecord ( );
177
+ }
178
+ );
191
179
}
192
180
193
181
}
0 commit comments