Skip to content

Instantly share code, notes, and snippets.

@gregoryyoung
Created May 10, 2014 11:45
Show Gist options
  • Select an option

  • Save gregoryyoung/848b8febc158d7f6a424 to your computer and use it in GitHub Desktop.

Select an option

Save gregoryyoung/848b8febc158d7f6a424 to your computer and use it in GitHub Desktop.
Context
public class AccountSpecifications
{
const decimal perTransactionFee = 0.99m;
public Specification when_withdrawing_money()
{
var currentBalance = 13.0m;
return new ActionSpecification<AccountContext>
{
On = () => new AccountContext {
Account = new Account(currentBalance),
Command = new WithdrawCommand
{
Amount = 12.00m
}
},
When = account => account.Handle(cmd),
Expect =
{
account => account.Balance == (currentBalance - cmd.Amount) - perTransactionFee,
account => account.CloseToZeroBalance
},
};
}
public class AccountContext {
public Command Command;
public Account Account;
}
}
@yevhen
Copy link
Copy Markdown

yevhen commented May 10, 2014

ok, I'll have a look. Tnx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment