Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 12, 2008, 8:36:19 PM (16 years ago)
Author:
landauf
Message:
  • fixed a small bug in ClassTreeMask
  • added more operators to ClassTreeMask
  • added testing code for ClassTreeMask
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core/src/orxonox/Orxonox.cc

    r806 r807  
    764764        #define TestClassTreeMask(mask) \
    765765            std::cout << "========== ClassTreeMask-Test ===========" << std::endl; \
     766            std::cout << mask << std::endl << std::endl; \
    766767            std::cout << "                 "; \
    767768            BoolToYesNo(mask.isIncluded(Class(BaseObject))); \
     
    808809
    809810        ClassTreeMask test13_1;
    810 //        test13_1.include(Class(BaseObject));
    811811        test13_1.exclude(Class(A1B1));
    812812        test13_1.exclude(Class(A2));
     
    817817        test13_1.exclude(Class(A3B2C1));
    818818        test13_1.exclude(Class(A3B2C2));
     819        std::cout << "Mask 1:\n";
     820        TestClassTreeMask(test13_1);
    819821
    820822        ClassTreeMask test13_2;
     
    828830        test13_2.include(Class(A3B2));
    829831        test13_2.exclude(Class(A3B2C2));
    830 
     832        std::cout << std::endl;
     833        std::cout << "Mask 2:\n";
     834        TestClassTreeMask(test13_2);
     835
     836        ClassTreeMask test13_3;
     837        test13_3.include(Class(A1));
     838        test13_3.exclude(Class(A1B2));
     839        test13_3.exclude(Class(A1B1C2));
     840        test13_3.include(Class(A2));
     841        test13_3.exclude(Class(A2B2));
     842        test13_3.include(Class(A3B1));
     843        test13_3.include(Class(A3B2));
     844        test13_3.exclude(Class(A3B2C2));
     845        std::cout << std::endl;
     846        std::cout << "Mask 2 without excluded BaseObject:\n";
     847        TestClassTreeMask(test13_3);
     848        test13_3.exclude(Class(BaseObject));
     849        std::cout << std::endl;
     850        std::cout << "Mask 2 with BaseObject excluded afterwards:\n";
     851        TestClassTreeMask(test13_3);
     852
     853        ClassTreeMask test13_3_2;
     854        test13_3_2.include(Class(A1));
     855        test13_3_2.exclude(Class(A1B2));
     856        test13_3_2.exclude(Class(A1B1C2));
     857        test13_3_2.include(Class(A2));
     858        test13_3_2.exclude(Class(A2B2));
     859        test13_3_2.include(Class(A3B1));
     860        test13_3_2.include(Class(A3B2));
     861        test13_3_2.exclude(Class(A3B2C2));
     862        test13_3_2.clean();
     863        test13_3_2.exclude(Class(BaseObject));
     864        std::cout << std::endl;
     865        std::cout << "Mask 2 with BaseObject excluded afterwards, but cleaned before:\n";
     866        TestClassTreeMask(test13_3_2);
     867        test13_3_2.include(Class(BaseObject));
     868        std::cout << std::endl;
     869        std::cout << "Mask 2 from before, but BaseObject re-included without cleaning:\n";
     870        TestClassTreeMask(test13_3_2);
     871
     872        ClassTreeMask test13_4;
     873        test13_4.include(Class(A3B2));
     874        test13_4.exclude(Class(A1B1C2));
     875        test13_4.include(Class(A3B1));
     876        test13_4.exclude(Class(A3B2C2));
     877        test13_4.exclude(Class(BaseObject));
     878        test13_4.include(Class(A2));
     879        test13_4.exclude(Class(A1B2));
     880        test13_4.exclude(Class(A2B2));
     881        test13_4.include(Class(A1));
     882        std::cout << std::endl;
     883        std::cout << "Mask 2 created in random order:\n";
     884        TestClassTreeMask(test13_4);
     885
     886        std::cout << "2\n";
     887
     888        ClassTreeMask test13_5 = test13_1;
     889        std::cout << std::endl;
     890        std::cout << "Mask 1 assigned to a new ClassTestMask:\n";
     891        TestClassTreeMask(test13_5);
     892
     893        std::cout << "3\n";
     894
     895        ClassTreeMask test13_6 = !test13_1;
     896        std::cout << std::endl;
     897        std::cout << "Mask 1 inverted:\n";
     898        TestClassTreeMask(test13_6);
     899
     900        std::cout << "4\n";
     901
     902        ClassTreeMask test13_7 = test13_1 + test13_2;
     903        std::cout << std::endl;
     904        std::cout << "Mask 1 + Mask 2:\n";
     905        TestClassTreeMask(test13_7);
     906
     907        std::cout << "5\n";
     908
     909        ClassTreeMask test13_8 = test13_1 * test13_2;
     910        std::cout << std::endl;
     911        std::cout << "Mask 1 * Mask 2:\n";
     912        TestClassTreeMask(test13_8);
     913
     914        std::cout << "6\n";
     915
     916        ClassTreeMask test13_9 = test13_1 - test13_2;
     917        std::cout << std::endl;
     918        std::cout << "Mask 1 - Mask 2:\n";
     919        TestClassTreeMask(test13_9);
     920
     921        std::cout << "7\n";
     922
     923        ClassTreeMask test13_10 = test13_1 ^ test13_2;
     924        std::cout << std::endl;
     925        std::cout << "Mask 1 ^ Mask 2:\n";
     926        TestClassTreeMask(test13_10);
     927        test13_10 = test13_10;
     928        TestClassTreeMask(test13_10);
     929
     930        std::cout << "8\n";
     931
     932        std::cout << std::endl;
     933        ClassTreeMask test13_11(test13_1);
     934        std::cout << std::endl;
     935        std::cout << "Mask 1 assigned with copyconstructor + original mask 1:\n";
     936        TestClassTreeMask(test13_11);
    831937        TestClassTreeMask(test13_1);
     938
     939        ClassTreeMask test13_12(!test13_11);
     940        std::cout << std::endl;
     941        std::cout << "Mask 1 inverted assigned with copyconstructor + the original from before:\n";
     942        TestClassTreeMask(test13_12);
     943        TestClassTreeMask(test13_11);
     944
     945        ClassTreeMask test13_13;
     946        test13_13 = test13_2;
     947        std::cout << std::endl;
     948        std::cout << "Mask 2 assigned with = operator + original mask 2:\n";
     949        TestClassTreeMask(test13_13);
    832950        TestClassTreeMask(test13_2);
    833951
    834         std::cout << "2\n";
    835 
    836         std::cout << "3\n";
     952        ClassTreeMask test13_14 = test13_11 + test13_13;
     953        std::cout << std::endl;
     954        std::cout << "Mask 1 + Mask 2 assigned with copyconstructor + originals from before:\n";
     955        TestClassTreeMask(test13_14);
     956        TestClassTreeMask(test13_11);
     957        TestClassTreeMask(test13_13);
     958
     959        test13_11 += test13_13;
     960        std::cout << std::endl;
     961        std::cout << "Mask 1 + Mask 2 with += operator + original of mask 2 from before:\n";
     962        TestClassTreeMask(test13_11);
     963        TestClassTreeMask(test13_13);
     964
     965        std::cout << "9\n";
    837966
    838967//    startRenderLoop();
Note: See TracChangeset for help on using the changeset viewer.