示例#1
0
        public void OnMoveResetsShieldToMaxIfNoMonstersInFov()
        {
            // Arrange
            var shield = new KlogborgShield();

            shield.Damage(24);

            var fov = new GoRogue.FOV(new ArrayMap <bool>(10, 10));

            fov.Calculate(5, 5, 5);

            var monsters = new List <Entity>()
            {
                Entity.CreateFromTemplate("Zug", 0, 2), Entity.CreateFromTemplate("Slink", 9, 8)
            };

            // Act
            shield.OnMove(fov, monsters);

            // Assert
            Assert.That(shield.CurrentShield, Is.EqualTo(KlogborgShield.MaxShield));
        }
示例#2
0
        public void OnMoveLeavesShieldValueIntactIfMonstersAreInFov()
        {
            // Arrange
            var shield = new KlogborgShield();

            shield.Damage(24);

            var fov = new GoRogue.FOV(new ArrayMap <bool>(10, 10));

            fov.Calculate(5, 5, 5);

            var monsters = new List <Entity>()
            {
                Entity.CreateFromTemplate("Zug", 6, 6)
            };

            // Act
            shield.OnMove(fov, monsters);

            // Assert
            Assert.That(shield.CurrentShield, Is.Not.EqualTo(KlogborgShield.MaxShield));
        }