public void WUModification()
{
var test1 = "12345603070809";
var test2 = "65432723374859";
var test3 = "100012fffefdfc";
var test4 = "00000504030201";
var wu = new WUUpgrades(test1);
Assert.Equal(test1, wu.ToString());
wu.ChainCastSkillId = 65432;
wu.ChainCastLevel += 0x1;
wu.ManaUse += 0x20;
wu.ManaBurn += 0x30;
wu.CastingSpeed += 0x40;
wu.MagicDamage += 0x50;
Assert.Equal(test2, wu.ToString());
Assert.Equal(wu.ChainCastSkillId, 65432);
Assert.Equal(wu.ChainCastLevel, 7);
Assert.Equal(wu.ManaUse, 0x23);
Assert.Equal(wu.ManaBurn, 0x37);
Assert.Equal(wu.CastingSpeed, 0x48);
Assert.Equal(wu.MagicDamage, 0x59);
wu.ChainCastSkillId = 10001;
wu.ChainCastLevel = 2;
wu.ManaUse = -1;
wu.ManaBurn = -2;
wu.CastingSpeed = -3;
wu.MagicDamage = -4;
Assert.Equal(test3, wu.ToString());
Assert.Equal(wu.ChainCastSkillId, 10001);
Assert.Equal(wu.ChainCastLevel, 2);
Assert.Equal(wu.ManaUse, -1);
Assert.Equal(wu.ManaBurn, -2);
Assert.Equal(wu.CastingSpeed, -3);
Assert.Equal(wu.MagicDamage, -4);
wu.ChainCastSkillId = 0;
wu.ChainCastLevel = 5;
wu.ManaUse = 4;
wu.ManaBurn = 3;
wu.CastingSpeed = 2;
wu.MagicDamage = 1;
Assert.Equal(test4, wu.ToString());
Assert.Equal(wu.ChainCastSkillId, 0);
Assert.Equal(wu.ChainCastLevel, 5);
Assert.Equal(wu.ManaUse, 4);
Assert.Equal(wu.ManaBurn, 3);
Assert.Equal(wu.CastingSpeed, 2);
Assert.Equal(wu.MagicDamage, 1);
}