public void Properties ()
		{
			DataSourceDropTarget b = new DataSourceDropTarget ();

			// default
			Assert.AreEqual ("dataSourceDropTarget", b.TagName, "A1");
			Assert.AreEqual (null, b.AcceptedDataTypes, "A2");
			Assert.AreEqual (true, b.Append, "A3");
			Assert.AreEqual ("data", b.Property, "A4");
			Assert.AreEqual (null, b.Target, "A5");

			// getter/setter
			b.AcceptedDataTypes = "foo";
			Assert.AreEqual ("foo", b.AcceptedDataTypes, "A6");
			b.Append = false;
			Assert.AreEqual (false, b.Append, "A7");
			b.Property = "Property";
			Assert.AreEqual ("Property", b.Property, "A8");
			b.Target = "Target";
			Assert.AreEqual ("Target", b.Target, "A9");

			// null setter
			b.AcceptedDataTypes = null;
			Assert.AreEqual (null, b.AcceptedDataTypes, "A10");
			b.Property = null;
			Assert.AreEqual (null, b.Property, "A11");
			b.Target = null;
			Assert.AreEqual (null, b.Target, "A12");
		}
		public void Render ()
		{
			DataSourceDropTarget c = new DataSourceDropTarget ();
			StringWriter sw;
			ScriptTextWriter w;

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

			Assert.AreEqual ("", sw.ToString(), "A1");
		}
		public void TypeDescriptor ()
		{
			DataSourceDropTarget a = new DataSourceDropTarget();
			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, "acceptedDataTypes", ScriptType.Array, false, "AcceptedDataTypes");
			Assert.IsTrue (pe.MoveNext(), "A10");
			DoProperty (pe.Current, "append", ScriptType.Boolean, false, "Append");
			Assert.IsTrue (pe.MoveNext(), "A11");
			DoProperty (pe.Current, "target", ScriptType.String, false, "Target");
			Assert.IsTrue (pe.MoveNext(), "A12");
			DoProperty (pe.Current, "property", ScriptType.String, false, "Property");
			Assert.IsFalse (pe.MoveNext(), "A13");
		}
		public void IsTypeDescriptorClosed ()
		{
			DataSourceDropTarget a = new DataSourceDropTarget();
			ScriptTypeDescriptor desc = ((IScriptObject)a).GetTypeDescriptor ();

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