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