00001 #include "TestSelection.h"
00002 #include "MockShapes.h"
00003
00004 #include <KoSelection.h>
00005 #include <kdebug.h>
00006
00007 void TestSelection::testSelectedShapes() {
00008 KoSelection selection;
00009 MockShape shape1;
00010 MockShape shape2;
00011 MockShape shape3;
00012
00013 QCOMPARE( selection.count(), 0);
00014 QCOMPARE( selection.selectedShapes().count(), 0);
00015 selection.select(&shape1);
00016 QCOMPARE( selection.count(), 1);
00017 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 1);
00018 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 1);
00019 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 1);
00020
00021 selection.select(&shape1);
00022 QCOMPARE( selection.count(), 1);
00023 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 1);
00024 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 1);
00025 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 1);
00026
00027 selection.select(&shape2);
00028 selection.select(&shape3);
00029 QCOMPARE( selection.count(), 3);
00030 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 3);
00031 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 3);
00032 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 3);
00033
00034 MockGroup group1;
00035 group1.addChild(&shape1);
00036 group1.addChild(&shape2);
00037 selection.select(&group1);
00038 QCOMPARE( selection.count(), 4);
00039
00040 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 3);
00041
00042 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 3);
00043
00044 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 2);
00045
00046 MockGroup group2;
00047 group2.addChild(&shape3);
00048 group2.addChild(&group1);
00049 selection.select(&group2);
00050 QCOMPARE( selection.count(), 5);
00051
00052 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 3);
00053
00054 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 3);
00055
00056 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 1);
00057
00058
00059 group1.removeChild(&shape1);
00060 group1.removeChild(&shape2);
00061 MockContainer container;
00062 container.addChild(&shape1);
00063 container.addChild(&shape2);
00064 selection.select(&container);
00065 QCOMPARE( selection.count(), 6);
00066
00067 QCOMPARE( selection.selectedShapes(KoFlake::FullSelection).count(), 4);
00068
00069 QCOMPARE( selection.selectedShapes(KoFlake::StrippedSelection).count(), 2);
00070
00071 QCOMPARE( selection.selectedShapes(KoFlake::TopLevelSelection).count(), 2);
00072 }
00073
00074 QTEST_MAIN(TestSelection)
00075 #include "TestSelection.moc"