Import atomix/{storage,utils}
[controller.git] / third-party / atomix / storage / src / test / java / io / atomix / storage / buffer / DirectBufferTest.java
1 /*
2  * Copyright 2015-present Open Networking Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package io.atomix.storage.buffer;
17
18 import org.junit.Test;
19
20 import java.nio.ByteBuffer;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.junit.Assert.assertTrue;
24
25 /**
26  * Direct buffer test.
27  *
28  * @author <a href="http://github.com/kuujo">Jordan Halterman</a>
29  */
30 public class DirectBufferTest extends BufferTest {
31
32   @Override
33   protected Buffer createBuffer(int capacity) {
34     return DirectBuffer.allocate(capacity);
35   }
36
37   @Override
38   protected Buffer createBuffer(int capacity, int maxCapacity) {
39     return DirectBuffer.allocate(capacity, maxCapacity);
40   }
41
42   @Test
43   public void testByteBufferToDirectBuffer() {
44     ByteBuffer byteBuffer = ByteBuffer.allocate(8);
45     byteBuffer.putLong(10);
46     byteBuffer.flip();
47
48     DirectBuffer directBuffer = DirectBuffer.allocate(8);
49     directBuffer.write(byteBuffer.array());
50     directBuffer.flip();
51     assertEquals(directBuffer.readLong(), byteBuffer.getLong());
52     assertTrue(directBuffer.isDirect());
53     directBuffer.release();
54   }
55
56 }