order.FreeShipping = true; OrderItem item = new OrderItem(15); item.SuppressTax = true; order.AddItem(item);
order .AddFreeShipping() .IncludeItem(15) .SuppressTax();
using System; using System.Collections.Generic; namespace TestFluentInterface { public class Order { private List _orderItems = new List(); private bool _freeShipping = false; public List OrderItems { get { return _orderItems; } } public bool FreeShipping { get { return _freeShipping; } } public OrderItem IncludeItem(int itemID) { OrderItem item = new OrderItem(itemID); _orderItems.Add(item); return item; } public Order AddFreeShipping() { _freeShipping = true; return this; } } }
using System; namespace TestFluentInterface { public class OrderItem { private bool _hasTax = false; private int _itemID; public OrderItem(int itemID) { _itemID = itemID; } public int ItemID { get { return _itemID; } } public bool HasTax { get { return _hasTax; } } public OrderItem SuppressTax() { _hasTax = false; return this; } } }
using System; using NUnit.Framework; using TestFluentInterface; namespace Test { [TestFixture] public class Test { [Test] public void MainTest() { Order order = new Order(); order .AddFreeShipping() .IncludeItem(15) .SuppressTax(); Assert.That(order.OrderItems.Count == 1); Assert.That(order.OrderItems[0].HasTax == false); Assert.That(order.FreeShipping == true); } } }
Remember Me
b, blockquote@cite, em, i, strike, strong, sub, sup, u
Powered by: newtelligence dasBlog 2.3.9074.18820
© Copyright 2012, Troy DeMonbreun
E-mail