1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.index.reader.resource;
20
21 import java.io.BufferedInputStream;
22 import java.io.ByteArrayInputStream;
23 import java.io.IOException;
24 import java.io.InputStream;
25
26 import org.apache.maven.index.reader.ResourceHandler;
27 import org.apache.maven.index.reader.ResourceHandler.Resource;
28 import org.jmock.Expectations;
29 import org.jmock.Mockery;
30 import org.junit.Test;
31
32 import static org.junit.Assert.assertEquals;
33 import static org.junit.Assert.assertNull;
34 import static org.junit.Assert.assertTrue;
35
36 public class BufferedResourceHandlerTest {
37 private Mockery context = new Mockery();
38
39 @Test
40 public void locate() throws IOException {
41 final Resource resource = context.mock(Resource.class);
42 final ResourceHandler resourceHandler = context.mock(ResourceHandler.class);
43 context.checking(new Expectations() {
44 {
45 oneOf(resource).read();
46 will(returnValue(new ByteArrayInputStream(new byte[] {'a'})));
47 oneOf(resourceHandler).locate("test.txt");
48 will(returnValue(resource));
49 }
50 });
51 InputStream in =
52 new BufferedResourceHandler(resourceHandler).locate("test.txt").read();
53 assertTrue(in instanceof BufferedInputStream);
54 assertEquals('a', in.read());
55 context.assertIsSatisfied();
56 }
57
58 @Test
59 public void locateNull() throws IOException {
60 final Resource resource = context.mock(Resource.class);
61 final ResourceHandler resourceHandler = context.mock(ResourceHandler.class);
62 context.checking(new Expectations() {
63 {
64 oneOf(resource).read();
65 oneOf(resourceHandler).locate("test.txt");
66 will(returnValue(resource));
67 }
68 });
69 assertNull(
70 new BufferedResourceHandler(resourceHandler).locate("test.txt").read());
71 context.assertIsSatisfied();
72 }
73
74 @Test
75 public void close() throws IOException {
76 final ResourceHandler resourceHandler = context.mock(ResourceHandler.class);
77 context.checking(new Expectations() {
78 {
79 oneOf(resourceHandler).close();
80 }
81 });
82 new BufferedResourceHandler(resourceHandler).close();
83 context.assertIsSatisfied();
84 }
85 }