Exemple #1
0
void testParse2()
{
    IntegerSet a;

    a.parse(" [-3,2] 5  8-9 10- ");  // insert(-3,2); insert(5); insert(8,9); insert(10,INT_MAX);

    unit_assert(a.intervalCount() == 3);
    unit_assert(a.size() == 9ul + numeric_limits<int>::max()-10+1);

    vector<int> b;
    IntegerSet::const_iterator it = a.begin();
    for (int i=0; i<11; ++i, ++it) // don't copy to the end() unless you have lots of time and space ;)
        b.push_back(*it);

    unit_assert(b.size() == 11);
    unit_assert(b[0] == -3);
    unit_assert(b[1] == -2);
    unit_assert(b[2] == -1);
    unit_assert(b[3] == 0);
    unit_assert(b[4] == 1);
    unit_assert(b[5] == 2);
    unit_assert(b[6] == 5);
    unit_assert(b[7] == 8);
    unit_assert(b[8] == 9);
    unit_assert(b[9] == 10);
    unit_assert(b[10] == 11);
}
Exemple #2
0
void testParse()
{
    IntegerSet a;

    a.parse(" [-3,2] [5,5] [8,9] booger ");  // insert(-3,2); insert(5); insert(8,9);

    unit_assert(a.intervalCount() == 3);
    unit_assert(a.size() == 9);

    vector<int> b;
    copy(a.begin(), a.end(), back_inserter(b));
    unit_assert(b.size() == 9);
    unit_assert(b[0] == -3);
    unit_assert(b[1] == -2);
    unit_assert(b[2] == -1);
    unit_assert(b[3] == 0);
    unit_assert(b[4] == 1);
    unit_assert(b[5] == 2);
    unit_assert(b[6] == 5);
    unit_assert(b[7] == 8);
    unit_assert(b[8] == 9);
}