public void TestCase4()
 {
     AbstractOrInterfaceOfFactoryKit kit      = new ConcreteFactoryKit1 <ConcreteProductA, ConcreteProductB>();
     AbstractOrInterfaceOfProductA   productA = kit.CreateProductA();
     AbstractOrInterfaceOfProductB   productB = kit.CreateProductB();
     AbstractOrInterfaceOfProductC   productC = kit.CreateProductC <ConcreteProductC>();
 }
 public void TestCase3()
 {
     AbstractOrInterfaceOfFactoryKit kit      = new ConcreteFactoryKit1();
     AbstractOrInterfaceOfProductA   productA = (AbstractOrInterfaceOfProductA)kit.CreateProduct(ProductCategory.ProductA);
     AbstractOrInterfaceOfProductB   productB = (AbstractOrInterfaceOfProductB)kit.CreateProduct(ProductCategory.ProductB);
 }