break; case LONG: long longVal = splitter.getLong(); builder.put(key, longVal); keys.add(Fields.longField(key, longVal));
@Test public void testComplexKeySplit() { // Tests key: [ "part1", "part2", "", 4l, byte[] { 0x5 } ] List<String> firstParts = ImmutableList.of("part1", "part2", ""); long fourthPart = 4L; byte[] fifthPart = new byte[] { 0x5 }; MDSKey.Builder builder = new MDSKey.Builder(); // intentionally testing the MDSKey.Builder#add(String... parts) method. builder.add(firstParts.get(0), firstParts.get(1), firstParts.get(2)); builder.add(fourthPart); builder.add(fifthPart); MDSKey mdsKey = builder.build(); MDSKey.Splitter splitter = mdsKey.split(); for (String part : firstParts) { Assert.assertEquals(part, splitter.getString()); } Assert.assertEquals(fourthPart, splitter.getLong()); Assert.assertTrue(Bytes.equals(fifthPart, splitter.getBytes())); }
return Long.MAX_VALUE - keySplitter.getLong();
@Test public void testAppend() { MDSKey mdsKey1 = new MDSKey.Builder().add("ab").add(3L).add(new byte[]{'x', 'y'}).build(); MDSKey mdsKey2 = new MDSKey.Builder().add("bd").add(5).append(mdsKey1).add(new byte[]{'z', 'z'}).build(); MDSKey mdsKey3 = new MDSKey.Builder().add(2).add(new byte[]{'w'}).append(mdsKey2).add(8L).build(); // Assert MDSKey.Splitter splitter = mdsKey3.split(); Assert.assertEquals(2, splitter.getInt()); Assert.assertArrayEquals(new byte[]{'w'}, splitter.getBytes()); Assert.assertEquals("bd", splitter.getString()); Assert.assertEquals(5, splitter.getInt()); Assert.assertEquals("ab", splitter.getString()); Assert.assertEquals(3L, splitter.getLong()); Assert.assertArrayEquals(new byte[]{'x', 'y'}, splitter.getBytes()); Assert.assertArrayEquals(new byte[]{'z', 'z'}, splitter.getBytes()); Assert.assertEquals(8L, splitter.getLong()); } }
@Test public void testSkipLongAndInt() { MDSKey.Builder builder = new MDSKey.Builder(); builder.add("part1"); builder.add(2L); builder.add(3L); builder.add(4); builder.add(5); MDSKey mdsKey = builder.build(); MDSKey.Splitter splitter = mdsKey.split(); Assert.assertEquals("part1", splitter.getString()); splitter.skipLong(); Assert.assertEquals(3L, splitter.getLong()); splitter.skipInt(); Assert.assertEquals(5, splitter.getInt()); }