public void TestCase1()
        {
            AbstractOrInterfaceOfPrototypeProduct prototypeProduct1 = new ConcretePrototypeProductA();
              AbstractOrInterfaceOfPrototypeProduct prototypeProduct2 = new ConcretePrototypeProductB();

              ProductPrototypeManager manager = new ProductPrototypeManager();
              manager.Register("PrototypeProduct1", prototypeProduct1);
              manager.Register("PrototypeProduct2", prototypeProduct2);

              AbstractOrInterfaceOfPrototypeProduct clonedProduct1 = manager.Retrieve("PrototypeProduct1").Clone();

              if (manager.IsRegisterd("PrototypeProduct2"))
              {
            AbstractOrInterfaceOfPrototypeProduct clonedProduct2 = manager.Retrieve("PrototypeProduct2").Clone();
              }
        }
        public void TestCase1()
        {
            AbstractOrInterfaceOfPrototypeProduct prototypeProduct1 = new ConcretePrototypeProductA();
            AbstractOrInterfaceOfPrototypeProduct prototypeProduct2 = new ConcretePrototypeProductB();

            ProductPrototypeManager manager = new ProductPrototypeManager();

            manager.Register("PrototypeProduct1", prototypeProduct1);
            manager.Register("PrototypeProduct2", prototypeProduct2);

            AbstractOrInterfaceOfPrototypeProduct clonedProduct1 = manager.Retrieve("PrototypeProduct1").Clone();

            if (manager.IsRegisterd("PrototypeProduct2"))
            {
                AbstractOrInterfaceOfPrototypeProduct clonedProduct2 = manager.Retrieve("PrototypeProduct2").Clone();
            }
        }