Exemplo n.º 1
0
        /// <summary>
        /// Returns a move with the given actions.
        /// </summary>
        public static Move CreateMove(
            string name        = "yeti",
            string description = "amon",
            int maxUses        = 5,
            MoveSuccessCalculatorFactory successCalculatorFactory = null,
            params IAction[] moveActions)
        {
            if (successCalculatorFactory is null)
            {
                successCalculatorFactory = () => new AlwaysMoveSuccessCalculator();
            }

            var builder = new MoveBuilder()
                          .Name(name)
                          .Describe(description)
                          .WithMaxUses(maxUses)
                          .WithSuccessCalculatorFactory(successCalculatorFactory);

            foreach (var action in moveActions)
            {
                builder = builder.WithAction(action);
            }

            return(builder.Build());
        }
Exemplo n.º 2
0
        public void Build_MissingMaxUses_Throws()
        {
            // Arrange
            var builder = new MoveBuilder()
                          .Name("caribou")
                          .Describe("andorra")
                          .AlwaysSucceeds();

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => _ = builder.Build());
        }
Exemplo n.º 3
0
        public void Build_MissingSuccessCalculator_Throws()
        {
            // Arrange
            var builder = new MoveBuilder()
                          .Name("caribou")
                          .Describe("andorra")
                          .WithMaxUses(9);

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => _ = builder.Build());
        }
Exemplo n.º 4
0
        public void Build_CallsPresent_Succeeds()
        {
            // Arrange
            var builder = new MoveBuilder()
                          .Name("caribou")
                          .Describe("andorra")
                          .WithMaxUses(9)
                          .WithPriority(1)
                          .WithAccuracy(100, Mock.Of <Random>());

            // Act
            var move = builder.Build();

            // Assert
            Assert.That(move, Is.Not.Null);
        }
        /// <summary>
        /// Returns a move with the given actions.
        /// </summary>
        public static Move CreateMove(
            string name        = "yeti",
            string description = "amon",
            int maxUses        = 5,
            ISuccessCalculator successCalculator = null,
            params IAction[] moveActions)
        {
            var builder = new MoveBuilder()
                          .Name(name)
                          .Describe(description)
                          .WithMaxUses(maxUses)
                          .WithSuccessCalculator(successCalculator ?? new AlwaysSuccessCalculator());

            foreach (var action in moveActions)
            {
                builder = builder.WithAction(action);
            }

            return(builder.Build());
        }
Exemplo n.º 6
0
 private static void AppendMoveAsIs(MoveBuilder moveBuilder, List <Move> moves)
 {
     moves.Add(moveBuilder.Build());
 }