コード例 #1
0
        public void Execute_throws_ArgumentNullException_if_parameters_null()
        {
            void UpdateBalance(Sale sale, double newBalance) => sale.Balance = newBalance;

            var sut = new TriggerActionParameterized <Sale, SaleEvent, double>(UpdateBalance);

            Assert.Throws <ArgumentNullException>(() => sut.Execute(parameters: null));
        }
コード例 #2
0
        public void Constructor_sets_Action()
        {
            void UpdateBalance(Sale sale, double newBalance) => sale.Balance = newBalance;

            var sut = new TriggerActionParameterized <Sale, SaleEvent, double>(UpdateBalance);

            Assert.Equal(UpdateBalance, sut.Action);
        }
コード例 #3
0
        public void Execute_throws_ArgumentException_if_parametersRequest_wrongType()
        {
            void UpdateBalance(Sale sale, double newBalance) => sale.Balance = newBalance;

            var sut        = new TriggerActionParameterized <Sale, SaleEvent, double>(UpdateBalance);
            var parameters = new ExecutionParameters <Sale, SaleEvent>(SaleEvent.AddItem, new Sale(saleID: 24), request: "wrongType");

            Assert.Throws <ArgumentException>(() => sut.Execute(parameters));
        }
コード例 #4
0
        public void Execute_executes_Action()
        {
            void UpdateBalance(Sale sale, double newBalance) => sale.Balance = newBalance;

            var sut = new TriggerActionParameterized <Sale, SaleEvent, double>(UpdateBalance);

            var testSale       = new Sale(saleID: 24);
            var updatedBalance = 23.45;
            var parameters     = new ExecutionParameters <Sale, SaleEvent>(SaleEvent.AddItem, testSale, request: updatedBalance);

            sut.Execute(parameters);

            Assert.Equal(updatedBalance, testSale.Balance);
        }