/* * Copy constructor for the Avatar class */ Avatar::Avatar(const Avatar &a) : Actor(), _name(a.GetName()), _level(a.GetLevel()), _health(a.GetHealth()), _class(a.GetClass()), _sprite_image(a._sprite_image) { _sprite_texture.loadFromImage(_sprite_image); _sprite = sf::Sprite(_sprite_texture); }
/* * Copy constructor for the Avatar class */ Avatar::Avatar(const Avatar &a) : Actor(), _name(a.GetName()), _level(a.GetLevel()), _health(a.GetHealth()), _maxHealth(a.GetMaxHealth()), _class(a.GetClass()), _sprite_image(a._sprite_image), _numWins(a.GetWins()), _numLosses(a.GetLosses()), _xp(a.GetXp()), _levelup(a.GetLevelUp()) { _sprite_texture.loadFromImage(_sprite_image); _sprite = sf::Sprite(_sprite_texture); }
/** * Saves and then loads an Avatar, then ensures that the loaded Avatar matched the original. */ TEST(TestAvatarSerializer, TestSaveAndLoad) { // Create the new avatar Avatar avatar("SomeCreativeNameHere", 23, ClassType::Mage); // Save the avatar to disk AvatarSerializer::GetInstance().SaveAvatar(avatar); // Load the avatar ASSERT_TRUE(AvatarSerializer::GetInstance().LoadAvatar("SomeCreativeNameHere")); // Make sure the loaded avatar matches our original Avatar *loadedAvatar = AvatarSerializer::GetInstance().GetPlayer(); EXPECT_EQ(avatar.GetName(), loadedAvatar->GetName()); EXPECT_EQ(avatar.GetLevel(), loadedAvatar->GetLevel()); EXPECT_EQ(avatar.GetClass().GetClassType(), loadedAvatar->GetClass().GetClassType()); std::remove("SomeCreativeNameHere.dat"); // Remove the saved avatar }