public void IsSatisfiedBy_ShouldBeSatisfied_WhenBalanceIsPositive() { var bankAccount = new BankAccount(1m); ISpecification <BankAccount> specification = new PositiveAccountBalanceSpecification(); bool isSatisfied = specification.IsSatisfiedBy(bankAccount); Assert.True(isSatisfied); Assert.Empty(specification.FailureReasons); }
public void IsSatisfiedBy_ShouldNotBeSatisfied_WhenBalanceIsNotPositive(double balance) { var bankAccount = new BankAccount((decimal)balance); ISpecification <BankAccount> specification = new PositiveAccountBalanceSpecification(); bool isSatisfied = specification.IsSatisfiedBy(bankAccount); Assert.False(isSatisfied); Assert.Equal("Account must have a positive balance for this operation", specification.FailureReasons.Single()); }
public void IsSatisfiedBy_ShouldThrowException_WhenBankAccountIsNull() { ISpecification <BankAccount> specification = new PositiveAccountBalanceSpecification(); Assert.Throws <ArgumentNullException>(() => specification.IsSatisfiedBy(null)); }