Пример #1
0
    public static void Y2015_Day21_Fight()
    {
        var player1 = new Day21.Player(8, 5, 5);
        var player2 = new Day21.Player(12, 7, 2);

        var winner = Day21.Fight(player1, player2);

        // Assert
        winner.ShouldBeSameAs(player1);
    }
Пример #2
0
        public void Day21_Part2_Solution()
        {
            var d = new Day21.Simulator();

            var b        = new Day21.Player("Boss", 104, 8, 1);
            var actual   = d.MostAmountRequiredToLoseFight(100, b);
            var expected = 148;

            Assert.IsNotNull(actual);
            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void Day21_Part1_Solution()
        {
            var d = new Day21.Simulator();

            var b        = new Day21.Player("Boss", 104, 8, 1);
            var actual   = d.LeastAmountOfGoldRequiredToWinFight(100, b);
            var expected = 78;

            Assert.IsNotNull(actual);
            Assert.AreEqual(expected, actual);
        }
Пример #4
0
        public void PlayGameTest()
        {
            var player = new Day21.Player
            {
                Name      = "Me",
                HitPoints = 8,
                Damage    = 5,
                Armor     = 5
            };

            var winner = day21.PlayGame(player);

            Assert.AreEqual("Me", winner.Name);
        }
Пример #5
0
        public void Day21_Part1_Example()
        {
            //For example, suppose you have 8 hit points, 5 damage, and 5 armor, and that
            //the boss has 12 hit points, 7 damage, and 2 armor:
            //In this scenario, the player wins! (Barely.)

            var p1 = new Day21.EquippedPlayer("Player", 8, 5, 5, Enumerable.Empty <Day21.Equipment>());
            var p2 = new Day21.Player("Boss", 12, 7, 2);

            var b = new Day21.Battle(p1, p2);

            var winner = b.Fight();

            Assert.IsNotNull(winner);
            Assert.AreEqual("Player", winner.Name);
        }