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)); }
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(); } }
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); }
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()); }
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); }
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()); }
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()); }
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); } }
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(); } }
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); }
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); }
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); }
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); }