void drive_WhereIds(QueryContext& _query)
{
    CQLChainedIdentifier chid1("fromclass.eo.scope1::prop");
    CQLChainedIdentifier chid2("fromclass.eo.scope2::prop");
    CQLChainedIdentifier chid3("fromclass.eo.scope1::prop#'ok'");
    CQLChainedIdentifier chid4("fromclass.eo.scope1::prop[1]");

    _query.addWhereIdentifier(chid1);
    _query.addWhereIdentifier(chid2);
    _query.addWhereIdentifier(chid3);
    _query.addWhereIdentifier(chid4);
    _query.addWhereIdentifier(chid1); // dup, ignored

    Array<QueryChainedIdentifier> qchids = _query.getWhereList();

    PEGASUS_TEST_ASSERT(qchids.size() == 4);
    PEGASUS_TEST_ASSERT(qchids[0].getSubIdentifiers().size() == 3);
    PEGASUS_TEST_ASSERT(qchids[1].getSubIdentifiers().size() == 3);
    PEGASUS_TEST_ASSERT(qchids[2].getSubIdentifiers().size() == 3);
    PEGASUS_TEST_ASSERT(qchids[3].getSubIdentifiers().size() == 3);
}