|
15 | 15 | */
|
16 | 16 | package org.culturegraph.mf.stream.converter;
|
17 | 17 |
|
18 |
| -import org.culturegraph.mf.exceptions.FormatException; |
19 |
| -import org.culturegraph.mf.stream.converter.ObjectToLiteral; |
20 |
| -import org.culturegraph.mf.stream.sink.EventList; |
21 |
| -import org.culturegraph.mf.stream.sink.StreamValidator; |
22 |
| -import org.junit.Assert; |
| 18 | +import static org.mockito.Mockito.inOrder; |
| 19 | + |
| 20 | +import org.culturegraph.mf.framework.StreamReceiver; |
| 21 | +import org.junit.After; |
| 22 | +import org.junit.Before; |
23 | 23 | import org.junit.Test;
|
| 24 | +import org.mockito.InOrder; |
| 25 | +import org.mockito.Mock; |
| 26 | +import org.mockito.MockitoAnnotations; |
24 | 27 |
|
25 | 28 |
|
26 | 29 | /**
|
27 | 30 | * @author Christoph Böhme
|
28 | 31 | *
|
29 | 32 | */
|
30 | 33 | public final class ObjectToLiteralTest {
|
31 |
| - |
| 34 | + |
32 | 35 | private static final String LITERAL_NAME = "myObject";
|
33 | 36 | private static final String OBJ_DATA = "This is a data object";
|
34 |
| - |
| 37 | + |
| 38 | + private ObjectToLiteral<String> objectToLiteral; |
| 39 | + |
| 40 | + @Mock |
| 41 | + private StreamReceiver receiver; |
| 42 | + |
| 43 | + @Before |
| 44 | + public void setup() { |
| 45 | + MockitoAnnotations.initMocks(this); |
| 46 | + objectToLiteral = new ObjectToLiteral<String>(); |
| 47 | + objectToLiteral.setReceiver(receiver); |
| 48 | + } |
| 49 | + |
| 50 | + @After |
| 51 | + public void cleanup() { |
| 52 | + objectToLiteral.closeStream(); |
| 53 | + } |
| 54 | + |
| 55 | + @Test |
| 56 | + public void testShouldUseObjectAsLiteralValue() { |
| 57 | + |
| 58 | + objectToLiteral.process(OBJ_DATA); |
| 59 | + |
| 60 | + final InOrder ordered = inOrder(receiver); |
| 61 | + ordered.verify(receiver).startRecord(""); |
| 62 | + ordered.verify(receiver).literal(ObjectToLiteral.DEFAULT_LITERAL_NAME, OBJ_DATA); |
| 63 | + ordered.verify(receiver).endRecord(); |
| 64 | + } |
| 65 | + |
35 | 66 | @Test
|
36 |
| - public void test() { |
37 |
| - final EventList buffer = new EventList(); |
38 |
| - buffer.startRecord(null); |
39 |
| - buffer.literal(LITERAL_NAME, OBJ_DATA); |
40 |
| - buffer.endRecord(); |
41 |
| - buffer.closeStream(); |
42 |
| - |
43 |
| - final ObjectToLiteral<String> objectToLiteral = new ObjectToLiteral<String>(); |
| 67 | + public void testShouldUseCustomLiteralName() { |
44 | 68 | objectToLiteral.setLiteralName(LITERAL_NAME);
|
45 |
| - final StreamValidator validator = new StreamValidator(buffer.getEvents()); |
46 |
| - |
47 |
| - objectToLiteral.setReceiver(validator); |
48 |
| - |
49 |
| - try { |
50 |
| - objectToLiteral.process(OBJ_DATA); |
51 |
| - objectToLiteral.closeStream(); |
52 |
| - } catch(FormatException e) { |
53 |
| - Assert.fail(e.toString()); |
54 |
| - } |
| 69 | + |
| 70 | + objectToLiteral.process(OBJ_DATA); |
| 71 | + |
| 72 | + final InOrder ordered = inOrder(receiver); |
| 73 | + ordered.verify(receiver).startRecord(""); |
| 74 | + ordered.verify(receiver).literal(LITERAL_NAME, OBJ_DATA); |
| 75 | + ordered.verify(receiver).endRecord(); |
55 | 76 | }
|
56 | 77 |
|
57 | 78 | }
|
0 commit comments