Пример #1
0
        public void NonPlayerCharacter_Die()
        {
            Mock <IMoneyToCoins> moneyToCoins = new Mock <IMoneyToCoins>();

            GlobalReference.GlobalValues.MoneyToCoins = moneyToCoins.Object;
            Mock <IRoom> room = new Mock <IRoom>();
            List <INonPlayerCharacter> npcList = new List <INonPlayerCharacter>();
            List <IItem>   itemsList           = new List <IItem>();
            Mock <IEngine> engine = new Mock <IEngine>();
            Mock <IEvent>  evnt   = new Mock <IEvent>();

            moneyToCoins.Setup(e => e.FormatedAsCoins(0)).Returns("0");
            npcList.Add(npc);
            room.Setup(e => e.NonPlayerCharacters).Returns(npcList);
            room.Setup(e => e.Items).Returns(itemsList);
            npc.Room = room.Object;
            engine.Setup(e => e.Event).Returns(evnt.Object);

            GlobalReference.GlobalValues.Engine = engine.Object;

            npc.Die();

            room.Verify(e => e.RemoveMobileObjectFromRoom(npc));
            Assert.AreEqual(1, room.Object.Items.Count);
            evnt.Verify(e => e.OnDeath(npc));
        }
Пример #2
0
        public void NonPlayerCharacter_Die()
        {
            ICorpse corpse = npc.Die(attacker.Object);

            room.Verify(e => e.RemoveMobileObjectFromRoom(npc));
            room.Verify(e => e.AddItemToRoom(It.Is <IItem>(f => f == corpse), 0));
            evnt.Verify(e => e.OnDeath(npc));
            Assert.AreSame(attacker.Object, corpse.Killer);
        }