Ejemplo n.º 1
0
    void randomizedTest() {
        const int cycles = 10000;
        const int valueRange = 1000;
        const int removeProbability = 40; //Percent

        TestSet set;
        srand(time(nullptr));
        for(int a = 0; a < cycles; ++a) {
            if(a % (cycles / 10) == 0) {
                qDebug() << "cycle" << a;
            }

            bool remove = (rand() % 100) < removeProbability;
            if(remove && set.size()) {
                set.remove(set.getItem(rand() % set.size()));
            }else{
                int value = (rand() % valueRange) + 1;
                set.add(value);
            }
            set.verify();
        }
        qDebug() << "Performance embedded list: insertion:" << toSeconds(emb_insertion) << "removal:" << toSeconds(emb_removal) << "contains:" << toSeconds(emb_contains) << "iteration:" << toSeconds(emb_iteration);
        qDebug() << "Performance std::set: insertion:" << toSeconds(std_insertion) << "removal:" << toSeconds(std_removal) << "contains:" << toSeconds(std_contains) << "iteration:" << toSeconds(std_iteration);
    }
Ejemplo n.º 2
0
    void sequentialTest() {
        TestSet set;
        set.add(5);
        set.verify();

        set.remove(5);
        set.verify();

        set.add(3);
        set.verify();

        set.add(4);
        set.verify();

        set.add(7);
        set.verify();

        set.remove(3);
        set.verify();

        set.remove(7);
        set.verify();

        set.add(6);
        set.verify();

        set.add(1);
        set.verify();

        set.add(9);
        set.verify();

        set.remove(4);
        set.verify();

        set.remove(9);
        set.verify();

        set.add(1);
        set.verify();
        set.add(2);
        set.verify();
        set.add(3);
        set.verify();
        set.add(4);
        set.verify();
        set.add(5);
        set.verify();
        set.remove(1);
        set.verify();
        set.remove(3);
        set.verify();
        set.add(15);
        set.verify();
        set.add(16);
        set.verify();
        set.add(17);
        set.verify();
        set.add(18);
        set.verify();
        set.remove(18);
        set.verify();
        set.remove(17);
        set.verify();
        set.add(9);
        set.verify();
    }