Skip to content

Instantly share code, notes, and snippets.

@jfromaniello
Created May 3, 2011 17:01
Show Gist options
  • Select an option

  • Save jfromaniello/953721 to your computer and use it in GitHub Desktop.

Select an option

Save jfromaniello/953721 to your computer and use it in GitHub Desktop.
This is an example with Dao (with specific methods expressions)
public class CancelOrderService
{
private IDaoOrder daoOrder;
public CancelOrderService(IDaoOrder daoOrder)
{
this.daoOrder = daoOrder;
}
public void CancelLastWeekOrders()
{
var orders = daoOrder.GetFromLastWeek();
orders.ForEach(o => o.Cancel());
}
}
//this is worthless... you end up with many many unrelated methods.
public interface IDaoOrders
{
IEnumerable<T> GetFromLastWeek();
}
[Test]
public void CancelAllOrdersFromLastWeek_ShouldWork()
{
var order = new Order();
var handler = new CancelOrderService(Mock.Of<IDaoOrders>(dao => dao.GetFromLastWeek() == new[]{ order }));
handler.CancelLastWeekOrders();
order1.Status.Should().Be.EqualTo(OrderStatus.Canceled);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment