1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.types;
19
20 import static org.junit.Assert.assertEquals;
21
22 import org.apache.hadoop.hbase.testclassification.SmallTests;
23 import org.apache.hadoop.hbase.util.Bytes;
24 import org.apache.hadoop.hbase.util.PositionedByteRange;
25 import org.apache.hadoop.hbase.util.SimplePositionedMutableByteRange;
26 import org.junit.Test;
27 import org.junit.experimental.categories.Category;
28
29 @Category(SmallTests.class)
30 public class TestOrderedBlob {
31
32 static final byte[][] VALUES = new byte[][] {
33 null, Bytes.toBytes(""), Bytes.toBytes("1"), Bytes.toBytes("22"), Bytes.toBytes("333"),
34 Bytes.toBytes("4444"), Bytes.toBytes("55555"), Bytes.toBytes("666666"),
35 Bytes.toBytes("7777777"), Bytes.toBytes("88888888"), Bytes.toBytes("999999999"),
36 };
37
38 @Test
39 public void testEncodedLength() {
40 PositionedByteRange buff = new SimplePositionedMutableByteRange(20);
41 for (DataType<byte[]> type : new OrderedBlob[] { OrderedBlob.ASCENDING, OrderedBlob.DESCENDING }) {
42 for (byte[] val : VALUES) {
43 buff.setPosition(0);
44 type.encode(buff, val);
45 assertEquals(
46 "encodedLength does not match actual, " + Bytes.toStringBinary(val),
47 buff.getPosition(), type.encodedLength(val));
48 }
49 }
50 }
51 }