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)); }
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); }
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)); }
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); }