public void TestConstructor()
		{
			//empty dataElement
			ConditionDisplayParameterHiddenDataInPDF hiddenDataParam = new ConditionDisplayParameterHiddenDataInPDF(null, this.Callback, null, Workshare.Policy.PolicyType.ClientEmail);
			Assert.IsTrue(Object.ReferenceEquals(null, hiddenDataParam.Object), "unexpected Object");
			Assert.IsTrue(Properties.Resources.IDS_EXPRESSION_PARAM_HIDDENDATA_DEFAULT == hiddenDataParam.Text, "unexpected Text");

			//nominal case with no display name
			IPolicyObjectCollection<IDataItem> dataItems = new PolicyObjectCollection<IDataItem>();
			dataItems.Add(DataItem.CreateDataItem(new NonTranslateableLanguageItem(""), DataType.String, Enum.GetName(typeof(ConditionUnitFactory.FileHiddenDataType), ConditionUnitFactory.FileHiddenDataType.AttachedTemplate)));
			dataItems.Add(DataItem.CreateDataItem(new NonTranslateableLanguageItem(""), DataType.String, Enum.GetName(typeof(ConditionUnitFactory.FileHiddenDataType), ConditionUnitFactory.FileHiddenDataType.AutoVersion)));
			IDataElement dataElement = new DataElement(Guid.NewGuid(), new NonTranslateableLanguageItem("name"), new NonTranslateableLanguageItem(""), DataType.StringArray, dataItems);
			hiddenDataParam = new ConditionDisplayParameterHiddenDataInPDF(dataElement, this.Callback, null, Workshare.Policy.PolicyType.ClientEmail);

			Assert.IsTrue(Object.ReferenceEquals(dataElement, hiddenDataParam.Object), "unexpected Object");
			Assert.AreEqual("Attached template, Auto version", hiddenDataParam.Text, "unexpected Text");

			m_callbackCalled = false;
			hiddenDataParam.Execute();

			Assert.IsTrue(m_callbackCalled, "Execute not called");

			//nominal case with display name
			dataElement.DisplayName.Value = "This is a display name";
			hiddenDataParam = new ConditionDisplayParameterHiddenDataInPDF(dataElement, this.Callback, null, Workshare.Policy.PolicyType.ClientEmail);

			Assert.IsTrue(Object.ReferenceEquals(dataElement, hiddenDataParam.Object), "unexpected Object");
			Assert.AreEqual("Attached template, Auto version", hiddenDataParam.Text, "unexpected Text - displayname should be the same as dataElement");

			m_callbackCalled = false;
			hiddenDataParam.Execute();

			Assert.IsTrue(m_callbackCalled, "Execute not called");

			//invalid format case
			try
			{
				dataElement = new DataElement(Guid.NewGuid(), new NonTranslateableLanguageItem("name"), new NonTranslateableLanguageItem(""), DataType.String, DataItem.CreateDataItem(new NonTranslateableLanguageItem(""), DataType.String, Enum.GetName(typeof(ConditionUnitFactory.FileHiddenDataType), ConditionUnitFactory.FileHiddenDataType.Field)));
				hiddenDataParam = new ConditionDisplayParameterHiddenDataInPDF(dataElement, this.Callback, null, Workshare.Policy.PolicyType.ClientEmail);
				Assert.IsTrue(false, "Didnt throw on invalid dataelement");
			}
			catch (PolicyDesignerException)
			{
				Assert.IsTrue(true);
			}
			catch
			{
				Assert.IsTrue(false, "unexpected exception thrown");
			}
		}