Exemple #1
0
        public void Sharer_loses_an_item_and_shared_gains_one()
        {
            //Characters:
            Caronte caronte = new Caronte(10, 10, 10);
            Wizard  wizard  = new Wizard(10, 10, 10);

            //Items:
            var curingPotion = new CuringPotion(103);
            var shield       = new Shield(1456);
            var sword        = new Sword(993);
            var trident      = new Trident(12081, 120);

            //Adding items:
            caronte.AddItem(shield);

            wizard.AddItem(curingPotion);
            wizard.AddItem(sword);
            wizard.AddItem(trident);

            //Encounter
            ExchangeEncounter encounter = new ExchangeEncounter(wizard, caronte, curingPotion);

            //Saving previous item counts
            int previousCaronteItems = caronte.Items.Count;
            int previousWizardItems  = wizard.Items.Count;

            //Running the encounter (assuming the encounter success)
            encounter.RunEncounter();

            Assert.IsTrue(caronte.Items.Count == previousCaronteItems + 1 &&
                          wizard.Items.Count == previousWizardItems - 1 &&
                          caronte.Items.Contains(curingPotion) &&
                          !wizard.Items.Contains(curingPotion));
        }
Exemple #2
0
        public void Exception_should_be_thrown_when_sharer_does_not_have_specific_item()
        {
            Elf    sharer   = new Elf(1, 1, 1);
            Wizard receiver = new Wizard(34, 3, 3);

            Sword item = new Sword(12);

            ExchangeEncounter encounter = new ExchangeEncounter(sharer, receiver, item);

            Assert.Throws <NoItemsToShareException>(() => encounter.RunEncounter());
        }
Exemple #3
0
        public void UnSuccessful_exchange()
        {
            Dwarf dwarf = new Dwarf(9, 1, 0);
            Demon demon = new Demon(23, 6547, 24);

            //dwarf no tiene nigun item. El intercambio deberia fallar (devolver false.)
            //dwarf.AddItem(new Sword(999999999));

            ExchangeEncounter encounter = new ExchangeEncounter(dwarf, demon, new Shield(82387));


            Assert.Catch <NoItemsToShareException>(() => encounter.RunEncounter());
        }
Exemple #4
0
        public void Successful_exchange()
        {
            Dwarf dwarf = new Dwarf(9, 1, 0);
            Demon demon = new Demon(23, 6547, 24);

            Sword sword = new Sword(999999999);

            dwarf.AddItem(sword);

            ExchangeEncounter encounter = new ExchangeEncounter(dwarf, demon, sword);

            Assert.IsTrue(encounter.RunEncounter());
        }
Exemple #5
0
        public void Sharer_loses_every_item_traded()
        {
            var items = new List <AbstractItem>()
            {
                new Shield(1234),
                new Sword(65),
                new Trident(43, 1293)
            };

            Wizard sharer   = new Wizard(10, 10, 10, items);
            Dragon receiver = new Dragon(2534, 2344, 1423);

            int previousSharerItems   = sharer.Items.Count;
            int previousReceiverItems = receiver.Items.Count;

            var encounter = new ExchangeEncounter(sharer, receiver, items);

            encounter.RunEncounter();

            Assert.IsTrue(previousSharerItems == items.Count &&
                          previousReceiverItems == 0 &&
                          sharer.Items.Count == 0 &&
                          receiver.Items.Count == items.Count);
        }