Created
May 3, 2011 17:01
-
-
Save jfromaniello/953721 to your computer and use it in GitHub Desktop.
This is an example with Dao (with specific methods expressions)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //this is worthless... you end up with many many unrelated methods. | |
| public interface IDaoOrders | |
| { | |
| IEnumerable<T> GetFromLastWeek(); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [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