/// Compare a subset against the corresponding portion of the test pattern
static void doTestSubset(int32_t start, int32_t end)
{
    BitVectorPtr full = createSubsetTestVector();
    BitVectorPtr subset = full->subset(start, end);
    BOOST_CHECK_EQUAL(end - start, subset->size());
    int32_t count = 0;
    for (int32_t i = start, j = 0; i < end; ++i, ++j)
    {
        if (subsetPattern[i] == 1)
        {
            ++count;
            BOOST_CHECK(subset->get(j));
        }
        else
            BOOST_CHECK(!subset->get(j));
    }
    BOOST_CHECK_EQUAL(count, subset->count());
}