lay1 = A _ B lay2 = C D E
| 21 | // lay1 = A _ B |
| 22 | // lay2 = C D E |
| 23 | TEST(Sprite, CelsRange) |
| 24 | { |
| 25 | Sprite* spr = new Sprite(IMAGE_RGB, 32, 32, 256); |
| 26 | spr->setTotalFrames(3); |
| 27 | |
| 28 | LayerImage* lay1 = new LayerImage(spr); |
| 29 | LayerImage* lay2 = new LayerImage(spr); |
| 30 | spr->folder()->addLayer(lay1); |
| 31 | spr->folder()->addLayer(lay2); |
| 32 | |
| 33 | ImageRef imgA(Image::create(IMAGE_RGB, 32, 32)); |
| 34 | Cel* celA = new Cel(frame_t(0), imgA); |
| 35 | Cel* celB = Cel::createLink(celA); |
| 36 | celB->setFrame(frame_t(2)); |
| 37 | lay1->addCel(celA); |
| 38 | lay1->addCel(celB); |
| 39 | |
| 40 | ImageRef imgC(Image::create(IMAGE_RGB, 32, 32)); |
| 41 | Cel* celC = new Cel(frame_t(0), imgC); |
| 42 | Cel* celD = Cel::createCopy(celC); |
| 43 | Cel* celE = Cel::createLink(celD); |
| 44 | celD->setFrame(frame_t(1)); |
| 45 | celE->setFrame(frame_t(2)); |
| 46 | lay2->addCel(celC); |
| 47 | lay2->addCel(celD); |
| 48 | lay2->addCel(celE); |
| 49 | |
| 50 | int i = 0; |
| 51 | for (Cel* cel : spr->cels()) { |
| 52 | switch (i) { |
| 53 | case 0: EXPECT_EQ(cel, celA); break; |
| 54 | case 1: EXPECT_EQ(cel, celB); break; |
| 55 | case 2: EXPECT_EQ(cel, celC); break; |
| 56 | case 3: EXPECT_EQ(cel, celD); break; |
| 57 | case 4: EXPECT_EQ(cel, celE); break; |
| 58 | } |
| 59 | ++i; |
| 60 | } |
| 61 | EXPECT_EQ(5, i); |
| 62 | |
| 63 | i = 0; |
| 64 | for (Cel* cel : spr->uniqueCels()) { |
| 65 | switch (i) { |
| 66 | case 0: EXPECT_EQ(cel, celA); break; |
| 67 | case 1: EXPECT_EQ(cel, celC); break; |
| 68 | case 2: EXPECT_EQ(cel, celD); break; |
| 69 | } |
| 70 | ++i; |
| 71 | } |
| 72 | EXPECT_EQ(3, i); |
| 73 | |
| 74 | i = 0; |
| 75 | for (Cel* cel : spr->cels(frame_t(0))) { |
| 76 | switch (i) { |
| 77 | case 0: EXPECT_EQ(cel, celA); break; |
| 78 | case 1: EXPECT_EQ(cel, celC); break; |
| 79 | } |
| 80 | ++i; |
nothing calls this directly
no test coverage detected