Beispiel #1
0
        public void DeserializeReturnsSelf()
        {
            var combat = AspectFactory.Combat();
            var self   = combat.Deserialize(new Dictionary <string, object>());

            Assert.IsNotNull(self);
        }
Beispiel #2
0
        public void CloneTest()
        {
            var combat = AspectFactory.Combat();
            var clone  = combat.Clone();

            Assert.IsNotNull(clone);
        }
Beispiel #3
0
        public void MakeAttackChecksHitOrMiss()
        {
            var mockChar = new Mock <Character>();

            var mockAttack = new Mock <IMockAttack>();

            mockAttack.Setup(attack => attack.Hit()).Returns(true);
            mockAttack.Setup(attack => attack.Damage()).Returns(100);

            var combat = AspectFactory.Combat();

            combat.Host = mockChar.Object;
            combat.MakeAttack(mockAttack.Object);

            mockAttack.VerifyAll();
        }
Beispiel #4
0
        public void EventRaisedOnMiss()
        {
            var mockChar = new Mock <Character>();

            mockChar.Setup(ch => ch.Has("missed_ch1", It.IsAny <PythonDictionary>()));

            var mockAttack = new Mock <IMockAttack>();

            mockAttack.Setup(attack => attack.Hit()).Returns(false);

            var combat = AspectFactory.Combat();

            combat.Host = mockChar.Object;

            combat.MakeAttack(mockAttack.Object);

            mockChar.VerifyAll();
        }
Beispiel #5
0
        public void UseAbility()
        {
            var mockAbility = new Mock <ICombatAbility>();
            var mockTarget  = new Mock <Character>();

            mockAbility.Setup(c => c.SelectMainTarget(null))
            .Returns(mockTarget.Object);
            mockAbility.Setup(c => c.Activate());

            var mockSelf = new Mock <Character>();
            var combat   = AspectFactory.Combat();

            combat.Host = mockSelf.Object;


            combat.UseAbility(mockAbility.Object);

            mockAbility.Verify(ability => ability.SelectMainTarget(null), Times.Once());
            mockAbility.Verify(ability => ability.Activate(), Times.Once());
        }
Beispiel #6
0
        public void TargetedEventTest()
        {
            var mockSelf    = new Mock <Character>();
            var mockAbility = new Mock <ICombatAbility>();
            var mockTarget  = new Mock <Character>();

            mockAbility.Setup(c => c.SelectMainTarget(null))
            .Returns(mockTarget.Object);
            mockAbility.Setup(c => c.Activate());

            mockSelf.Setup(self => self.Has("targeted_ch1", It.IsAny <PythonDictionary>()));

            var combat = AspectFactory.Combat();

            combat.Host = mockSelf.Object;


            combat.UseAbility(mockAbility.Object);

            mockAbility.Verify(ability => ability.SelectMainTarget(null), Times.Once());
            mockAbility.Verify(ability => ability.Activate(), Times.Once());
            mockSelf.VerifyAll();
        }
Beispiel #7
0
 public void CombatTest()
 {
     Assert.IsNotNull(AspectFactory.Combat());
 }