public void ChangeWeaponAndSetDefaultShooting() { var contexts = new Contexts(); var changeWeaponSystem = new ChangeWeaponSystem(contexts); var craftingElement = contexts.game.CreateEntity(); craftingElement.AddUsage(UsageType.Craft); craftingElement.isInsideInventory = true; craftingElement.AddIngredient(IngredientsType.Crystal); PlayerDescription playerDescription = new PlayerDescription() { ConstantPowerDescription = new ConstantPowerDescription() { ShowPower = 10 } }; var player = contexts.game.SetPlayer(playerDescription); player.ReplaceWeapon(WeaponType.ConstantPower); changeWeaponSystem.Execute(); Assert.IsTrue(player.hasWeapon); Assert.IsTrue(player.hasShotPower); Assert.IsTrue(player.hasCurrentProjectile); Assert.AreEqual(craftingElement, player.currentProjectile.value); }
public void ChangeWeaponType() { var contexts = new Contexts(); var changeWeaponSystem = new ChangeWeaponSystem(contexts); PlayerDescription playerDescription = new PlayerDescription() { ConstantPowerDescription = new ConstantPowerDescription() { ShowPower = 10 } }; var player = contexts.game.SetPlayer(playerDescription); player.ReplaceWeapon(WeaponType.ConstantPower); changeWeaponSystem.Execute(); Assert.IsTrue(player.hasWeapon); Assert.IsTrue(player.hasShotPower); Assert.IsFalse(player.hasCurrentProjectile); }