Skip to content

Commit 64e8d87

Browse files
committed
Changed StringFilterTest to use mock objects.
1 parent e1faaad commit 64e8d87

File tree

1 file changed

+49
-30
lines changed

1 file changed

+49
-30
lines changed

src/test/java/org/culturegraph/mf/stream/pipe/StringFilterTest.java

Lines changed: 49 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -15,57 +15,76 @@
1515
*/
1616
package org.culturegraph.mf.stream.pipe;
1717

18-
import org.culturegraph.mf.stream.pipe.ObjectBuffer;
19-
import org.culturegraph.mf.stream.pipe.StringFilter;
20-
import org.junit.Assert;
21-
import org.junit.Before;
22-
import org.junit.Test;
18+
import static org.mockito.Mockito.inOrder;
19+
20+
import org.culturegraph.mf.framework.ObjectReceiver;
21+
import org.junit.After;
22+
import org.junit.Before;
23+
import org.junit.Test;
24+
import org.mockito.InOrder;
25+
import org.mockito.Mock;
26+
import org.mockito.MockitoAnnotations;
2327

2428

25-
/**
29+
/**
30+
* Tests for {@link StringFilter}.
31+
*
2632
* @author Christoph Böhme
2733
*
2834
*/
2935
public final class StringFilterTest {
3036

31-
private static final String[] RECORDS = { "Record 1: Data", "Record 42: Data", "Record 3: Data" };
37+
private static final String[] RECORDS = {
38+
"Record 1: Data",
39+
"Record 42: Data",
40+
"Record 3: Data",
41+
};
42+
3243
private static final String PATTERN = "\\d\\d";
3344

34-
private StringFilter filter;
35-
private ObjectBuffer<String> buffer;
45+
private StringFilter filter;
46+
47+
@Mock
48+
private ObjectReceiver<String> receiver;
3649

3750
@Before
38-
public void configFlow() {
51+
public void setup() {
52+
MockitoAnnotations.initMocks(this);
53+
3954
filter = new StringFilter(PATTERN);
40-
buffer = new ObjectBuffer<String>();
41-
filter.setReceiver(buffer);
55+
filter.setReceiver(receiver);
56+
}
57+
58+
@After
59+
public void cleanup() {
60+
filter.closeStream();
4261
}
4362

4463
@Test
45-
public void testPassMatches() {
64+
public void testShouldPassMatchingInput() {
4665
filter.setPassMatches(true);
4766

48-
processRecords();
49-
50-
Assert.assertEquals(RECORDS[1], buffer.pop());
51-
Assert.assertNull(buffer.pop());
67+
filter.process(RECORDS[0]);
68+
filter.process(RECORDS[1]);
69+
filter.process(RECORDS[2]);
70+
71+
final InOrder ordered = inOrder(receiver);
72+
ordered.verify(receiver).process(RECORDS[1]);
73+
ordered.verifyNoMoreInteractions();
5274
}
5375

5476
@Test
55-
public void testFilterMatches() {
77+
public void testShouldPassNonMatchingInput() {
5678
filter.setPassMatches(false);
5779

58-
processRecords();
80+
filter.process(RECORDS[0]);
81+
filter.process(RECORDS[1]);
82+
filter.process(RECORDS[2]);
5983

60-
Assert.assertEquals(RECORDS[0], buffer.pop());
61-
Assert.assertEquals(RECORDS[2], buffer.pop());
62-
Assert.assertNull(buffer.pop());
63-
}
64-
65-
private void processRecords() {
66-
filter.process(RECORDS[0]);
67-
filter.process(RECORDS[1]);
68-
filter.process(RECORDS[2]);
69-
filter.closeStream();
70-
}
84+
final InOrder ordered = inOrder(receiver);
85+
ordered.verify(receiver).process(RECORDS[0]);
86+
ordered.verify(receiver).process(RECORDS[2]);
87+
ordered.verifyNoMoreInteractions();
88+
}
89+
7190
}

0 commit comments

Comments
 (0)