1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.hadoop.hbase.mapreduce;
21
22 import org.apache.hadoop.hbase.*;
23 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
24 import org.apache.hadoop.hbase.util.Bytes;
25 import org.junit.experimental.categories.Category;
26
27
28
29
30 @Category(SmallTests.class)
31 public class TestSimpleTotalOrderPartitioner extends HBaseTestCase {
32 public void testSplit() throws Exception {
33 String start = "a";
34 String end = "{";
35 SimpleTotalOrderPartitioner<byte []> p =
36 new SimpleTotalOrderPartitioner<byte []>();
37 this.conf.set(SimpleTotalOrderPartitioner.START, start);
38 this.conf.set(SimpleTotalOrderPartitioner.END, end);
39 p.setConf(this.conf);
40 ImmutableBytesWritable c = new ImmutableBytesWritable(Bytes.toBytes("c"));
41
42 int partition = p.getPartition(c, HConstants.EMPTY_BYTE_ARRAY, 1);
43 assertEquals(0, partition);
44
45 partition = p.getPartition(c, HConstants.EMPTY_BYTE_ARRAY, 2);
46 assertEquals(0, partition);
47
48 partition = p.getPartition(c, HConstants.EMPTY_BYTE_ARRAY, 3);
49 assertEquals(0, partition);
50 ImmutableBytesWritable q = new ImmutableBytesWritable(Bytes.toBytes("q"));
51 partition = p.getPartition(q, HConstants.EMPTY_BYTE_ARRAY, 2);
52 assertEquals(1, partition);
53 partition = p.getPartition(q, HConstants.EMPTY_BYTE_ARRAY, 3);
54 assertEquals(2, partition);
55
56 ImmutableBytesWritable startBytes =
57 new ImmutableBytesWritable(Bytes.toBytes(start));
58 partition = p.getPartition(startBytes, HConstants.EMPTY_BYTE_ARRAY, 2);
59 assertEquals(0, partition);
60 partition = p.getPartition(startBytes, HConstants.EMPTY_BYTE_ARRAY, 3);
61 assertEquals(0, partition);
62 ImmutableBytesWritable endBytes =
63 new ImmutableBytesWritable(Bytes.toBytes("z"));
64 partition = p.getPartition(endBytes, HConstants.EMPTY_BYTE_ARRAY, 2);
65 assertEquals(1, partition);
66 partition = p.getPartition(endBytes, HConstants.EMPTY_BYTE_ARRAY, 3);
67 assertEquals(2, partition);
68 }
69
70 @org.junit.Rule
71 public org.apache.hadoop.hbase.ResourceCheckerJUnitRule cu =
72 new org.apache.hadoop.hbase.ResourceCheckerJUnitRule();
73 }
74