Пример #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));
        }
Пример #2
0
        public void NotEnoughItemsExchangeEncounterTest()
        {
            Dwarf            gimli   = new Dwarf();
            Elf              legolas = new Elf();
            BasicSword       sword   = new BasicSword();
            StygianBlade     blade   = new StygianBlade();
            HearthSeekingBow bow     = new HearthSeekingBow();

            gimli.AddItem(blade);
            gimli.AddItem(bow);

            List <string> itemList = new List <string>()
            {
                sword.Name, blade.Name, bow.Name
            };
            ExchangeEncounter encounter = new ExchangeEncounter(gimli, legolas, itemList);

            try
            {
                encounter.PlayEncounter();
                Assert.Fail();
            }
            //Si hay una excepción al tratar de intercambiar un item que no se tiene, se pasa al bloque catch y por ende se cumple el test.
            catch
            {
                Assert.Pass();
            }
        }
Пример #3
0
        public void ExchangeEncounterTest(Character sender, Character receiver)
        {
            Troll  troll  = new Troll("Troll");
            Wizard wizard = new Wizard("Wizard");

            ExchangeEncounter exchangeEncounter = new ExchangeEncounter(troll, wizard);

            Assert.AreEqual(null, troll.Items);
        }
Пример #4
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());
        }
Пример #5
0
        public void ExchangeEncounterTest()
        {
            Dwarf      gimli   = new Dwarf();
            Elf        legolas = new Elf();
            BasicSword sword   = new BasicSword();

            gimli.AddItem(sword);

            ExchangeEncounter encounter = new ExchangeEncounter(gimli, legolas, sword.Name);

            Assert.AreEqual(1, encounter.PlayEncounter()[1][0].ItemList.Count);
        }
Пример #6
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());
        }
Пример #7
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());
        }
Пример #8
0
        public void TestExchangeEncounterItemNotFoundExceptionThowrn()
        {
            Troll             troll    = new Troll("Troll");
            Wizard            wizard   = new Wizard("Wizard");
            ExchangeEncounter exchange = new ExchangeEncounter(troll, wizard);
            Magic             magic    = new Magic();

            try
            {
                exchange.AddItemToExchange(magic);
            }
            catch (ItemNotFoundException e)
            {
                Assert.True(true, e.Message);
            }
        }
Пример #9
0
        public void NoItemForExchangeEncounterTest()
        {
            Dwarf      gimli   = new Dwarf();
            Elf        legolas = new Elf();
            BasicSword sword   = new BasicSword();

            try
            {
                ExchangeEncounter encounter = new ExchangeEncounter(gimli, legolas, sword.Name);
                encounter.PlayEncounter();
                Assert.Fail();
            }
            //Si hay una excepción al tratar de intercambiar un item que no se tiene, se pasa al bloque catch y por ende se cumple el test.
            catch
            {
                Assert.Pass();
            }
        }
Пример #10
0
        public void TestExEnc()
        {
            bool noItem = false;

            //SILVER 17. Cuando se da un encuentro de tipo ExchangeEncounter entre dos personajes y un elemento, el emisor pierde el elemento y el receptor lo gana.
            Character test1    = new Wizard("test");
            Character test2    = new Wizard("test");
            Character testCopy = test1;

            ExchangeEncounter exEn = new ExchangeEncounter(test1, test2);

            foreach (IItem item in test1.Items)
            {
                // item NO TERMINADO
            }

            bool expected = true;

            Assert.AreEqual(expected, noItem);
        }
        public void ExcecuteTest()
        {
            Elf         character       = new Elf("TestCharacter", 50, 10, 40);
            Wizard      Secondcharacter = new Wizard("TestCharacter", 50, 10, 40);
            GenericItem item            = new GenericItem("TestItem", 10, 10, 0, false);

            character.AddItem(item);
            List <Item> listOfItem = new List <Item>();

            listOfItem.Add(item);
            List <Character> listOfCharacter = new List <Character>();

            listOfCharacter.Add(character);
            listOfCharacter.Add(Secondcharacter);
            ExchangeEncounter exchangeEncounter = new ExchangeEncounter(listOfCharacter, listOfItem);

            exchangeEncounter.Excecute();
            Assert.AreEqual(character.GetItems().Count, 0);
            Assert.AreEqual(Secondcharacter.GetItems()[0], item);
        }
Пример #12
0
        public void ManyItemsExchangeEncounterTest()
        {
            Dwarf            gimli   = new Dwarf();
            Elf              legolas = new Elf();
            BasicSword       sword   = new BasicSword();
            StygianBlade     blade   = new StygianBlade();
            HearthSeekingBow bow     = new HearthSeekingBow();

            gimli.AddItem(sword);
            gimli.AddItem(blade);
            gimli.AddItem(bow);

            List <string> itemList = new List <string>()
            {
                sword.Name, blade.Name, bow.Name
            };

            ExchangeEncounter encounter = new ExchangeEncounter(gimli, legolas, itemList);

            Assert.AreEqual(3, encounter.PlayEncounter()[1][0].ItemList.Count);
        }
Пример #13
0
        public void WhenThereIsAnExchangeEncounterTheSenderLosesAllItems()
        {
            Elf        elfo          = new Elf("Eduardo");
            MagicStick palitoMagico  = new MagicStick();
            MagicStick palitoMagico2 = new MagicStick();
            Robes      robe          = new Robes();

            elfo.AddItem(palitoMagico);
            elfo.AddItem(palitoMagico2);
            Elf          elfoChorro = new Elf("El roba eduardos");
            List <IItem> items      = new List <IItem>();

            items.Add(palitoMagico);
            items.Add(palitoMagico2);
            items.Add(robe);
            ExchangeEncounter encuentro = new ExchangeEncounter(elfo, elfoChorro, items);

            encuentro.DoEncounter();
            List <IItem> expectedItems = new List <IItem>();

            Assert.AreEqual(expectedItems, elfo.Items);
        }
Пример #14
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);
        }