void check_bcancer_expected(Index& idx)
{
    ASSERT_EQUAL(idx.num_docs(), 683);
    ASSERT_EQUAL(idx.unique_terms(), 10);

    std::ifstream in{"../data/bcancer-metadata.txt"};
    doc_id id{0};
    uint64_t size;
    while (in >> size)
    {
        ASSERT_EQUAL(idx.doc_size(doc_id{id}), size);
        ++id;
    }
    ASSERT_EQUAL(id, idx.num_docs());
}
void check_ceeaus_expected_fwd(Index& idx)
{
    ASSERT_EQUAL(idx.num_docs(), 1008);
    ASSERT_EQUAL(idx.unique_terms(), 3944);

    std::ifstream in{"../data/ceeaus-metadata.txt"};
    uint64_t size;
    uint64_t unique;
    doc_id id{0};
    while (in >> size >> unique)
    {
        // don't care about unique terms per doc in forward_index (yet)
        ASSERT_EQUAL(idx.doc_size(id), size);
        ++id;
    }

    // make sure there's exactly the correct amount
    ASSERT_EQUAL(id, idx.num_docs());
}