コード例 #1
0
        public void TestFewAttackersSingleDefender(Formula formula)
        {
            var defender1 = Substitute.For <ICombatGroup>();

            defender1.GetEnumerator().Returns(new List <ICombatObject> {
                Substitute.For <ICombatObject>()
            }.GetEnumerator());

            ICombatList defenders = Substitute.For <ICombatList>();

            defenders.GetEnumerator().Returns(new List <ICombatGroup> {
                defender1
            }.GetEnumerator());

            var attacker1 = Substitute.For <ICombatGroup>();

            attacker1.GetEnumerator().Returns(new List <ICombatObject> {
                Substitute.For <ICombatObject>()
            }.GetEnumerator());

            var attacker2 = Substitute.For <ICombatGroup>();

            attacker2.GetEnumerator().Returns(new List <ICombatObject> {
                Substitute.For <ICombatObject>(), Substitute.For <ICombatObject>()
            }.GetEnumerator());

            ICombatList attackers = Substitute.For <ICombatList>();

            attackers.GetEnumerator().Returns(new List <ICombatGroup> {
                attacker1, attacker2
            }.GetEnumerator());

            formula.GetBattleInterval(defenders, attackers).Should().BeInRange(19.22, 19.24);
        }
コード例 #2
0
        public void TestAtMaxOrOverMax(int defenderCnt, int attackerCnt, Formula formula)
        {
            var defendersCombatObjects = new List <ICombatObject>();

            for (var i = 0; i < defenderCnt; i++)
            {
                defendersCombatObjects.Add(Substitute.For <ICombatObject>());
            }

            var defender1 = Substitute.For <ICombatGroup>();

            defender1.GetEnumerator().Returns(defendersCombatObjects.GetEnumerator());

            ICombatList defenders = Substitute.For <ICombatList>();

            defenders.GetEnumerator().Returns(new List <ICombatGroup> {
                defender1
            }.GetEnumerator());

            var attacker1 = Substitute.For <ICombatGroup>();

            var attackersCombatObjects = new List <ICombatObject>();

            for (var i = 0; i < attackerCnt; i++)
            {
                attackersCombatObjects.Add(Substitute.For <ICombatObject>());
            }

            attacker1.GetEnumerator().Returns(attackersCombatObjects.GetEnumerator());

            ICombatList attackers = Substitute.For <ICombatList>();

            attackers.GetEnumerator().Returns(new List <ICombatGroup> {
                attacker1
            }.GetEnumerator());

            formula.GetBattleInterval(defenders, attackers).Should().Be(4);
        }