public void ReportError_GivenInsufficientGil()
        {
            var(commandData, gilBank, eqAccessor, itemAccessor, chat) = SetUpTest(0, "cloud", "1");
            var weaponCommand = new WeaponCommand(eqAccessor.Object, itemAccessor.Object, _materiaAccess.Object,
                                                  new GameDatabase(_loader.Object), gilBank, chat.Object, new EquipmentData <Weapon>(),
                                                  new PaymentProcessor(gilBank, chat.Object));

            weaponCommand.Execute(commandData);

            chat.Verify(x => x.SendMessage(commandData.Channel, It.IsAny <string>(), false), Times.Once);
            eqAccessor.Verify(x => x.SetCharacterEquipment(It.IsAny <CharNames>(), It.IsAny <byte>(), m => m.Weapon.Address), Times.Never);
        }
        public void ChangeCharacterWeapon_GivenValidCallAndEnoughGil()
        {
            var(characterName, weaponNumber) = (CharNames.Cloud.DefaultName, 1);
            var(commandData, gilBank, eqAccessor, itemAccessor, chat) = SetUpTest(1000, characterName, weaponNumber.ToString());
            var weaponCommand = new WeaponCommand(eqAccessor.Object, itemAccessor.Object, _materiaAccess.Object,
                                                  new GameDatabase(_loader.Object), gilBank, chat.Object, new EquipmentData <Weapon>(),
                                                  new PaymentProcessor(gilBank, chat.Object));

            weaponCommand.Execute(commandData);

            eqAccessor.Verify(x => x.SetCharacterEquipment(CharNames.Cloud, It.IsAny <byte>(), m => m.Weapon.Address), Times.Once);
        }