Пример #1
0
        public void WithSuccessCalculatorFactory_NullArgument_Throws()
        {
            // Arrange
            var builder = new FlinchActionBuilder();

            // Act and Assert
            Assert.Throws <ArgumentNullException>(() => _ = builder.WithSuccessCalculatorFactory(null));
        }
Пример #2
0
        public void Build_MissingSuccessCalculatorFactory_Throws()
        {
            // Arrange
            var builder = new FlinchActionBuilder()
                          .TargetsAll();

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => _ = builder.Build());
        }
Пример #3
0
        public void Build_MissingActionTargetCalculator_Throws()
        {
            // Arrange
            var builder = new FlinchActionBuilder()
                          .AlwaysSucceeds();

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => _ = builder.Build());
        }
Пример #4
0
        public void Build_CallsPresent_Succeeds()
        {
            // Arrange
            var builder = new FlinchActionBuilder()
                          .TargetsUser()
                          .AlwaysSucceeds();

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

            // Assert
            Assert.That(flinch, Is.Not.Null);
        }
        private static FlinchAction CreateFlinchAction(
            IActionTargetCalculator actionTargetCalculator          = null,
            ActionSuccessCalculatorFactory successCalculatorFactory = null)
        {
            if (successCalculatorFactory is null)
            {
                successCalculatorFactory = () => new AlwaysActionSuccessCalculator();
            }

            var builder = new FlinchActionBuilder()
                          .WithActionTargetCalculator(actionTargetCalculator ?? Mock.Of <IActionTargetCalculator>())
                          .WithSuccessCalculatorFactory(successCalculatorFactory);

            return(builder.Build());
        }