public void Render ()
		{
			DraggableListItem b = new DraggableListItem ();
			StringWriter sw;
			ScriptTextWriter w;

			sw = new StringWriter();
			w = new ScriptTextWriter (sw);
			((IScriptComponent)b).RenderScript (w);

			Assert.AreEqual ("", sw.ToString(), "A1");
		}
		public void Properties ()
		{
			DraggableListItem b = new DraggableListItem ();

			// default
			Assert.AreEqual ("draggableListItem", b.TagName, "A1");
			Assert.AreEqual (null, b.Handle, "A2");

			// getter/setter
			b.Handle = "foo";
			Assert.AreEqual ("foo", b.Handle, "A3");

			// null setter
			b.Handle = null;
			Assert.AreEqual (null, b.Handle, "A4");
		}
		public void TypeDescriptor ()
		{
			DraggableListItem a = new DraggableListItem ();
			ScriptTypeDescriptor desc = ((IScriptObject)a).GetTypeDescriptor ();

			Assert.AreEqual (a, desc.ScriptObject, "A1");

			// events
			IEnumerable<ScriptEventDescriptor> events = desc.GetEvents();
			Assert.IsNotNull (events, "A2");

			IEnumerator<ScriptEventDescriptor> ee = events.GetEnumerator();
			Assert.IsTrue (ee.MoveNext(), "A3");
			DoEvent (ee.Current, "propertyChanged", true);
			Assert.IsFalse (ee.MoveNext(), "A4");

			// methods
			IEnumerable<ScriptMethodDescriptor> methods = desc.GetMethods();
			Assert.IsNotNull (methods, "A5");

			IEnumerator<ScriptMethodDescriptor> me = methods.GetEnumerator();
			Assert.IsFalse (me.MoveNext ());

			// properties
			IEnumerable<ScriptPropertyDescriptor> props = desc.GetProperties();
			Assert.IsNotNull (props, "A6");

			IEnumerator<ScriptPropertyDescriptor> pe = props.GetEnumerator();
			Assert.IsTrue (pe.MoveNext(), "A7");
			DoProperty (pe.Current, "bindings", ScriptType.Array, true, "Bindings");
			Assert.IsTrue (pe.MoveNext(), "A8");
			DoProperty (pe.Current, "dataContext", ScriptType.Object, false, "");
			Assert.IsTrue (pe.MoveNext(), "A9");
			DoProperty (pe.Current, "id", ScriptType.String, false, "ID");
			Assert.IsTrue (pe.MoveNext(), "A9");
			DoProperty (pe.Current, "data", ScriptType.Object, false, "");
			Assert.IsTrue (pe.MoveNext(), "A10");
			DoProperty (pe.Current, "handle", ScriptType.Object, false, "Handle");
			Assert.IsTrue (pe.MoveNext(), "A11");
			DoProperty (pe.Current, "dragVisualTemplate", ScriptType.Object, false, "");
			Assert.IsFalse (pe.MoveNext(), "A12");
		}
		public void IsTypeDescriptorClosed ()
		{
			DraggableListItem a = new DraggableListItem ();
			ScriptTypeDescriptor desc = ((IScriptObject)a).GetTypeDescriptor ();

			desc.AddEvent (new ScriptEventDescriptor ("testEvent", true));
		}