public void OnEngineClosed ()
		{
			VsaEngine engine = new VsaEngine ();
			IVsaItems items;
			IVsaItem item;

			engine = new VsaEngine ();
			engine.RootMoniker = "com.foo://path/to/nowhere";
			engine.Site = new Site ();

			engine.InitNew ();
			items = engine.Items;
			engine.Close ();
		
			int size;

			try {
				size = items.Count;
			} catch (VsaException e) {
				Assert.AreEqual (VsaError.EngineClosed, e.ErrorCode, "#1");
			}

			try {
				item = items.CreateItem ("itemx", VsaItemType.Code, 
							 VsaItemFlag.Class);
			} catch (VsaException e) {
				Assert.AreEqual (VsaError.EngineClosed, e.ErrorCode, "#2");
			}
		}
		public void IsDirtyOnEngineClosed ()
		{
			VsaEngine engine = new VsaEngine ();
			IVsaItems items;
			IVsaItem item;

			engine.RootMoniker = "foo://nowhere/path";
			engine.Site = new Site ();
			engine.InitNew ();

			items = engine.Items;			

			item = items.CreateItem ("item1", VsaItemType.Reference, VsaItemFlag.None);
			engine.Close ();

			try {
				bool dirty = item.IsDirty;
			} catch (VsaException e) {
				Assert.AreEqual (VsaError.EngineClosed, e.ErrorCode, "#1");
			}
		}
		public void GetOptionOnEngineClosed ()
		{		
			VsaEngine engine = new VsaEngine ();
			IVsaItems items;
			IVsaItem item;

			engine.RootMoniker = "foo://nowhere/path";
			engine.Site = new Site ();
			engine.InitNew ();

			items = engine.Items;			

			item = items.CreateItem ("item1", VsaItemType.Reference, VsaItemFlag.None);

			engine.Close ();

			try {
				object opt = item.GetOption ("AlwaysGenerateIL");
			} catch (VsaException e) {
				Assert.AreEqual (VsaError.EngineClosed, e.ErrorCode, "#6");
			}
		}