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 import static org.junit.Assert.assertTrue;
22
23 import org.apache.hadoop.hbase.Cell;
24 import org.apache.hadoop.hbase.CellComparator;
25 import org.apache.hadoop.hbase.KeyValue;
26 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
27 import org.apache.hadoop.hbase.protobuf.generated.CellProtos;
28 import org.apache.hadoop.hbase.util.Bytes;
29 import org.apache.hadoop.hbase.util.PositionedByteRange;
30 import org.apache.hadoop.hbase.util.SimplePositionedByteRange;
31 import org.junit.Test;
32
33 public class TestPBCell {
34
35 private static final PBCell CODEC = new PBCell();
36
37
38
39
40 @Test
41 public void testRoundTrip() {
42 final Cell cell = new KeyValue(Bytes.toBytes("row"), Bytes.toBytes("fam"),
43 Bytes.toBytes("qual"), Bytes.toBytes("val"));
44 CellProtos.Cell c = ProtobufUtil.toCell(cell), decoded;
45 PositionedByteRange pbr = new SimplePositionedByteRange(c.getSerializedSize());
46 pbr.setPosition(0);
47 int encodedLength = CODEC.encode(pbr, c);
48 pbr.setPosition(0);
49 decoded = CODEC.decode(pbr);
50 assertEquals(encodedLength, pbr.getPosition());
51 assertTrue(CellComparator.equals(cell, ProtobufUtil.toCell(decoded)));
52 }
53 }