public static void Main()
new UnitTests().PerformUnitTest();
public interface IItem { Object Data {get;set;}}
public class Item : IItem { public Object Data {get;set;}}
public class ItemA : Item {}
public class ItemB : Item {}
public class ItemC : Item {}
public interface IGenerator
event EventHandler<IItem> NewItem;
public class ClientServiceA
public class ClientServiceB
public class ClientServiceC
public void PerformUnitTest()
var sut = new Distribtutor();
private void Assert(bool expected, bool actual)
throw new Exception("Failure");