private static void testBigint(Block longBlock, int expectedSetSize) { TypedSet typedSet = new TypedSet(BIGINT, expectedSetSize, FUNCTION_NAME); testBigintFor(typedSet, longBlock); BlockBuilder emptyBlockBuilder = BIGINT.createBlockBuilder(null, expectedSetSize); TypedSet typedSetWithPassedInBuilder = new TypedSet(BIGINT, emptyBlockBuilder, expectedSetSize, FUNCTION_NAME); testBigintFor(typedSetWithPassedInBuilder, longBlock); }
@Test public void testGetElementPositionRandom() { TypedSet set = new TypedSet(VARCHAR, 1, FUNCTION_NAME); testGetElementPositionRandomFor(set); BlockBuilder emptyBlockBuilder = VARCHAR.createBlockBuilder(null, 3); TypedSet setWithPassedInBuilder = new TypedSet(VARCHAR, emptyBlockBuilder, 1, FUNCTION_NAME); testGetElementPositionRandomFor(setWithPassedInBuilder); }
@Test public void testBigintSimpleTypedSet() { List<Integer> expectedSetSizes = ImmutableList.of(1, 10, 100, 1000); List<Block> longBlocks = ImmutableList.of( createEmptyLongsBlock(), createLongsBlock(1L), createLongsBlock(1L, 2L, 3L), createLongsBlock(1L, 2L, 3L, 1L, 2L, 3L), createLongsBlock(1L, null, 3L), createLongsBlock(null, null, null), createLongSequenceBlock(0, 100), createLongSequenceBlock(-100, 100), createLongsBlock(nCopies(1, null)), createLongsBlock(nCopies(100, null)), createLongsBlock(nCopies(expectedSetSizes.get(expectedSetSizes.size() - 1) * 2, null)), createLongsBlock(nCopies(expectedSetSizes.get(expectedSetSizes.size() - 1) * 2, 0L))); for (int expectedSetSize : expectedSetSizes) { for (Block block : longBlocks) { testBigint(block, expectedSetSize); } } }
@Test public void testBigintSimpleTypedSet() throws Exception { List<Integer> expectedSetSizes = ImmutableList.of(1, 10, 100, 1000); List<Block> longBlocks = ImmutableList.of( createEmptyLongsBlock(), createLongsBlock(1L), createLongsBlock(1L, 2L, 3L), createLongsBlock(1L, 2L, 3L, 1L, 2L, 3L), createLongsBlock(1L, null, 3L), createLongsBlock(null, null, null), createLongSequenceBlock(0, 100), createLongSequenceBlock(-100, 100), createLongsBlock(Collections.nCopies(1, null)), createLongsBlock(Collections.nCopies(100, null)), createLongsBlock(Collections.nCopies(expectedSetSizes.get(expectedSetSizes.size() - 1) * 2, null)), createLongsBlock(Collections.nCopies(expectedSetSizes.get(expectedSetSizes.size() - 1) * 2, 0L)) ); for (int expectedSetSize : expectedSetSizes) { for (Block block : longBlocks) { testBigint(block, expectedSetSize); } } }