public void AddInstance(object obj, string name)
        {
            CreatedInstance createdInstance = new CreatedInstance(obj.GetType(), new object[0], name, false);

            createdInstance.Object = obj;
            createdInstances.Add(createdInstance);
        }
        public object GetInstance(string name)
        {
            CreatedInstance instance = GetCreatedInstance(name);

            if (instance != null)
            {
                return(instance.Object);
            }
            return(null);
        }
        public override bool Equals(object obj)
        {
            CreatedInstance rhs = obj as CreatedInstance;

            if (rhs != null)
            {
                return(ToString() == rhs.ToString());
            }
            return(base.Equals(obj));
        }
        public object CreateInstance(Type type, ICollection arguments, string name, bool addToContainer)
        {
            CreatedInstance createdInstance = new CreatedInstance(type, arguments, name, addToContainer);

            createdInstances.Add(createdInstance);

            object[] argumentsArray = new object[arguments.Count];
            arguments.CopyTo(argumentsArray, 0);

            object o = null;
            DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager();

            using (designerSerializationManager.CreateSession()) {
                IDesignerSerializationManager manager = designerSerializationManager as IDesignerSerializationManager;
                o = manager.CreateInstance(type, arguments, name, addToContainer);
            }
            createdInstance.Object = o;
            return(o);
        }
		public void LocalVariableInstance()
		{			
			string s = "abc";
			CreatedInstance instance = new CreatedInstance(typeof(string), new object[0], "localVariable", false);
			instance.Object = s;
			componentCreator.CreatedInstances.Add(instance);
			List<object> expectedArgs = new List<object>();
			expectedArgs.Add(s);
			
			string code = "TestClass(localVariable)";
			CallExpression callExpression = PythonParserHelper.GetCallExpression(code);
			List<object> args = deserializer.GetArguments(callExpression);

			Assert.AreEqual(expectedArgs, args);
		}		
		public void ComponentResourceManagerCreated()
		{
			CreatedInstance expectedInstance = new CreatedInstance(typeof(ResourceManager), new object[0], "resources", false);
			CreatedInstance instance = base.ComponentCreator.CreatedInstances[0];
			Assert.AreEqual(expectedInstance, instance);
		}
		public void InstanceType()
		{
			List<object> args = new List<object>();
			int width = 300;
			int height = 400;
			args.Add(width);
			args.Add(height);
			
			CreatedInstance expectedInstance = new CreatedInstance(typeof(Size), args, null, false);
			Assert.AreEqual(expectedInstance, ComponentCreator.CreatedInstances[0]);
		}		
		public void ButtonInstance()
		{			
			CreatedInstance expectedInstance = new CreatedInstance(typeof(Button), new object[0], "button1", false);
			Assert.AreEqual(expectedInstance, ComponentCreator.CreatedInstances[0]);
		}
		public void TextBoxInstanceCreated()
		{
			CreatedInstance instance = new CreatedInstance(typeof(TextBox), new List<object>(), "textBox1", false);
			Assert.Contains(instance, ComponentCreator.CreatedInstances);
		}
		public object CreateInstance(Type type, ICollection arguments, string name, bool addToContainer)
		{
			CreatedInstance createdInstance = new CreatedInstance(type, arguments, name, addToContainer);
			createdInstances.Add(createdInstance);
		
			object[] argumentsArray = new object[arguments.Count];
			arguments.CopyTo(argumentsArray, 0);
			
			object o = null;
			DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager();
			using (designerSerializationManager.CreateSession()) {
				IDesignerSerializationManager manager = designerSerializationManager as IDesignerSerializationManager;
				o = manager.CreateInstance(type, arguments, name, addToContainer);
			}
			createdInstance.Object = o;
			return o;
		}
		public void AddInstance(object obj, string name)
		{
			CreatedInstance createdInstance = new CreatedInstance(obj.GetType(), new object[0], name, false);
			createdInstance.Object = obj;
			createdInstances.Add(createdInstance);
		}