1 package net.obsearch.storage;
2
3 import static org.junit.Assert.*;
4
5 import net.obsearch.index.utils.ByteArrayComparator;
6
7 import org.junit.Before;
8 import org.junit.Test;
9
10 import com.sleepycat.bind.tuple.TupleOutput;
11
12 public class TestByteArrayComparisons {
13
14 @Before
15 public void setUp() throws Exception {
16 }
17
18 @Test
19 public void testCase(){
20 ByteArrayComparator c = new ByteArrayComparator();
21 assertEquals(c.compare(createTuple(10000L,(short)2), createTuple(10000,(short)2)), 0);
22 assertEquals(c.compare(createTuple(10000L,(short)2), createTuple(10001,(short)2)), -1);
23 assertEquals(c.compare(createTuple(10001L,(short)2), createTuple(-10000,(short)2)), 1);
24 assertEquals(c.compare(createTuple(10000L,(short)2), createTuple(10000,(short)3)), -1);
25 assertEquals(c.compare(createTuple(10000L,(short)3), createTuple(10000,(short)2)), 1);
26
27 assertEquals(c.compare(createTuple2(10000.1,2.35f), createTuple2(10000.1,2.35f)), 0);
28 assertEquals(c.compare(createTuple2(0.35,2.35f), createTuple2(10000.1,2.35f)), -1);
29 assertEquals(c.compare(createTuple2(10000.1,2.35f), createTuple2(-0.35,2.35f)), 1);
30 assertEquals(c.compare(createTuple2(10000.1,-2.34f), createTuple2(10000.1,2.35f)), -1);
31 assertEquals(c.compare(createTuple2(10000.1,213323.56f), createTuple2(10000.1,-2.35f)), 1);
32 }
33
34
35
36 public byte[] createTuple(long a, short dist){
37 TupleOutput out = new TupleOutput();
38 out.writeLong(a);
39 out.writeShort(dist);
40
41 return out.getBufferBytes();
42 }
43
44 public byte[] createTuple2(double a, float dist){
45 TupleOutput out = new TupleOutput();
46 out.writeSortedDouble(a);
47 out.writeSortedFloat(dist);
48 return out.getBufferBytes();
49 }
50 }