1 package org.eclipse.aether.transfer;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import static org.junit.Assert.*;
23
24 import java.nio.ByteBuffer;
25
26 import org.eclipse.aether.DefaultRepositorySystemSession;
27 import org.eclipse.aether.RepositorySystemSession;
28 import org.eclipse.aether.transfer.TransferEvent;
29 import org.eclipse.aether.transfer.TransferResource;
30 import org.junit.Test;
31
32
33
34 public class TransferEventTest
35 {
36
37 private static TransferResource res = new TransferResource( "none", "file://nil", "void", null, null );
38
39 private static RepositorySystemSession session = new DefaultRepositorySystemSession();
40
41 @Test
42 public void testByteArrayConversion()
43 {
44 byte[] buffer = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
45 int length = buffer.length - 2;
46 int offset = 1;
47
48 TransferEvent event = new TransferEvent.Builder( session, res ).setDataBuffer( buffer, offset, length ).build();
49
50 ByteBuffer bb = event.getDataBuffer();
51 byte[] dst = new byte[bb.remaining()];
52 bb.get( dst );
53
54 byte[] expected = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
55 assertArrayEquals( expected, dst );
56 }
57
58 @Test
59 public void testRepeatableReadingOfDataBuffer()
60 {
61 byte[] data = { 0, 1, 2, 3, 4, 5, 6, 7 };
62 ByteBuffer buffer = ByteBuffer.wrap( data );
63
64 TransferEvent event = new TransferEvent.Builder( session, res ).setDataBuffer( buffer ).build();
65
66 assertEquals( 8, event.getDataLength() );
67
68 ByteBuffer eventBuffer = event.getDataBuffer();
69 assertNotNull( eventBuffer );
70 assertEquals( 8, eventBuffer.remaining() );
71
72 byte[] eventData = new byte[8];
73 eventBuffer.get( eventData );
74 assertArrayEquals( data, eventData );
75 assertEquals( 0, eventBuffer.remaining() );
76 assertEquals( 8, event.getDataLength() );
77
78 eventBuffer = event.getDataBuffer();
79 assertNotNull( eventBuffer );
80 assertEquals( 8, eventBuffer.remaining() );
81 eventBuffer.get( eventData );
82 assertArrayEquals( data, eventData );
83 }
84
85 }