@Override public byte[] createCompositeKey(byte[] key1, byte[] key2) { return createCompositeKey(new byte[][] { key1, key2 }); }
public void setUp() { comp = new ArraySerializedComparator(); comp.setComparators(new SerializedComparator[] { new LexicographicalComparator(), // string new LexicographicalComparator(), // int new LexicographicalComparator() // boolean }); } }
public void testReadAndWrite() throws Exception { ArraySerializedComparator ac = new ArraySerializedComparator(); ac.setComparators(new SerializedComparator[] { new LexicographicalComparator(), new LexicographicalComparator(), for (int i = -100; i < 100; i++) { byte[] subkey = ComparisonTestCase.convert(i); byte[] key = ac.createCompositeKey(subkey, subkey, subkey); wtr.append(key, subkey); for (int i = -100; i < 100; i++) { byte[] subkey = ComparisonTestCase.convert(i); byte[] key = ac.createCompositeKey(subkey, subkey, subkey); assertTrue(rdr.mightContain(key));
public void testGetKey() throws Exception { Object[] vals = new Object[] { "aaaa", 1, true }; byte[][] composite = new byte[][] { convert(vals[0]), convert(vals[1]), convert(vals[2]) }; ByteBuffer key = ByteBuffer.wrap(comp.createCompositeKey(composite)); for (int i = 0; i < 3; i++) { ByteBuffer subkey = comp.getKey(key, i); assertEquals(vals[i], recover(subkey.array(), subkey.arrayOffset(), subkey.remaining())); } }
public void testCompositeKey() throws IOException { byte[] k1 = comp.createCompositeKey(convert("aaaa"), convert(1), convert(true)); byte[] k2 = comp.createCompositeKey(convert("bbbb"), convert(2), convert(false)); byte[] k3 = comp.createCompositeKey(convert("bbbb"), convert(3), convert(true)); byte[] k4 = comp.createCompositeKey(convert("cccc"), convert(1), convert(false)); byte[] k5 = comp.createCompositeKey(convert(null), convert(1), convert(false)); byte[] k6 = comp.createCompositeKey(convert(null), convert(1), convert(true)); compareAsIs(comp, k1, k1, Comparison.EQ); compareAsIs(comp, k1, k2, Comparison.LT); compareAsIs(comp, k2, k1, Comparison.GT); compareAsIs(comp, k2, k3, Comparison.LT); compareAsIs(comp, k3, k4, Comparison.LT); compareAsIs(comp, k4, k5, Comparison.LT); compareAsIs(comp, k5, k1, Comparison.GT); compareAsIs(comp, k5, k6, Comparison.LT); }
public void testSearch() throws IOException { byte[] k1 = comp.createCompositeKey(convert("aaaa"), convert(1), convert(true)); byte[] k2 = comp.createCompositeKey(convert("bbbb"), convert(2), convert(false)); byte[] k3 = comp.createCompositeKey(convert("bbbb"), convert(3), convert(true)); byte[] k4 = comp.createCompositeKey(convert("cccc"), convert(1), convert(false)); byte[] s1 = comp.createCompositeKey(convert("aaaa"), new byte[] {SoplogToken.WILDCARD.toByte()}, new byte[] {SoplogToken.WILDCARD.toByte()}); byte[] s2 = comp.createCompositeKey(convert("bbbb"), new byte[] {SoplogToken.WILDCARD.toByte()}, new byte[] {SoplogToken.WILDCARD.toByte()}); byte[] s3 = comp.createCompositeKey(new byte[] {SoplogToken.WILDCARD.toByte()}, convert(1), new byte[] {SoplogToken.WILDCARD.toByte()}); compareAsIs(comp, k1, s1, Comparison.EQ); compareAsIs(comp, k2, s1, Comparison.GT); compareAsIs(comp, k1, s2, Comparison.LT); compareAsIs(comp, k2, s2, Comparison.EQ); compareAsIs(comp, k3, s2, Comparison.EQ); compareAsIs(comp, k4, s2, Comparison.GT); compareAsIs(comp, s3, k4, Comparison.EQ); }