@@ -281,51 +281,79 @@ TEST(SpriteTest, Draggable)
281281
282282TEST (SpriteTest, RotationStyle)
283283{
284+ auto c1 = std::make_shared<Costume>(" " , " " , " " );
285+ auto c2 = std::make_shared<Costume>(" " , " " , " " );
286+
284287 Sprite sprite;
285288 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround); // default
286289 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
290+ sprite.addCostume (c1);
291+ sprite.addCostume (c2);
292+ sprite.setCurrentCostume (1 );
293+
294+ ASSERT_EQ (c1->mirrorHorizontally (), false );
287295
288296 sprite.setRotationStyle (Sprite::RotationStyle::DoNotRotate);
289297 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::DoNotRotate);
290298 ASSERT_EQ (sprite.rotationStyleStr (), " don't rotate" );
299+ ASSERT_EQ (c1->mirrorHorizontally (), false );
291300
292301 sprite.setRotationStyle (Sprite::RotationStyle::LeftRight);
293302 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::LeftRight);
294303 ASSERT_EQ (sprite.rotationStyleStr (), " left-right" );
304+ ASSERT_EQ (c1->mirrorHorizontally (), true );
295305
296306 sprite.setRotationStyle (Sprite::RotationStyle::AllAround);
297307 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround);
298308 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
309+ ASSERT_EQ (c1->mirrorHorizontally (), false );
299310
300311 sprite.setRotationStyle (" invalid" );
301312 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround); // shouldn't change
302313 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
314+ ASSERT_EQ (c1->mirrorHorizontally (), false );
315+
316+ sprite.setCurrentCostume (2 );
317+ sprite.setRotationStyle (Sprite::RotationStyle::LeftRight);
318+ ASSERT_EQ (c2->mirrorHorizontally (), true );
319+
320+ sprite.setCurrentCostume (1 );
321+ sprite.setRotationStyle (Sprite::RotationStyle::AllAround);
322+ sprite.setCurrentCostume (2 );
323+ ASSERT_EQ (c2->mirrorHorizontally (), false );
303324
304325 sprite.setRotationStyle (" don't rotate" );
305326 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::DoNotRotate);
306327 ASSERT_EQ (sprite.rotationStyleStr (), " don't rotate" );
328+ ASSERT_EQ (c2->mirrorHorizontally (), false );
307329
308330 sprite.setRotationStyle (" left-right" );
309331 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::LeftRight);
310332 ASSERT_EQ (sprite.rotationStyleStr (), " left-right" );
333+ ASSERT_EQ (c2->mirrorHorizontally (), true );
311334
312335 sprite.setRotationStyle (" all around" );
313336 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround);
314337 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
338+ ASSERT_EQ (c2->mirrorHorizontally (), false );
315339
316340 sprite.setRotationStyle (std::string (" invalid" ));
317341 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround); // shouldn't change
318342 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
343+ ASSERT_EQ (c2->mirrorHorizontally (), false );
319344
320345 sprite.setRotationStyle (std::string (" don't rotate" ));
321346 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::DoNotRotate);
322347 ASSERT_EQ (sprite.rotationStyleStr (), " don't rotate" );
348+ ASSERT_EQ (c2->mirrorHorizontally (), false );
323349
324350 sprite.setRotationStyle (std::string (" left-right" ));
325351 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::LeftRight);
326352 ASSERT_EQ (sprite.rotationStyleStr (), " left-right" );
353+ ASSERT_EQ (c2->mirrorHorizontally (), true );
327354
328355 sprite.setRotationStyle (std::string (" all around" ));
329356 ASSERT_EQ (sprite.rotationStyle (), Sprite::RotationStyle::AllAround);
330357 ASSERT_EQ (sprite.rotationStyleStr (), " all around" );
358+ ASSERT_EQ (c2->mirrorHorizontally (), false );
331359}
0 commit comments