using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Xml.Serialization;
using QC.QSPRLogSchema;

namespace QC.QTMXmlSchema;

[Serializable]
[DesignerCategory("code")]
[XmlType(AnonymousType = true)]
public class ROOTTEST
{
	private string nodeRIDField;

	private string scenarioCombinedOptionsRIDField;

	private string resultOptionsRIDField;

	private string nodeDetailsRIDField;

	private string nodeDataRIDField;

	private string tNAMEField;

	private string rESField;

	private string niField;

	private ROOTTESTInput[] inputsField;

	private ROOTTESTLOOPVALUES lOOPVALUESField;

	private ROOTTESTParamResults[] paramResultsField;

	private string eRROR_CODEField;

	private string startTimeField;

	private string errorCodeRIDField;

	private string testStartTimeField;

	private string testStopTimeField;

	private string testDurationTimeField;

	private string testCaseRIdField;

	private string blockedCRNoField;

	private string commentsField;

	private string logFilePathField;

	private string testCaseRefRIdField;

	private string jiraIdField;

	private string crIdField;

	private string warningField;

	private string errorDescField;

	private string irIdField;

	private string srIdField;

	private string jiraCategoriesField;

	private string realNameField;

	private string testPathField;

	private string loopIteration;

	private string maxIteration;

	[XmlArrayItem("DI")]
	public List<DataItem> TestConfig;

	public string GroupId;

	public string SkipReason;

	public string TestSpecification;

	[DefaultValue("")]
	public string ErrorCodeRID
	{
		get
		{
			return errorCodeRIDField;
		}
		set
		{
			errorCodeRIDField = value;
		}
	}

	[DefaultValue("")]
	public string RealName
	{
		get
		{
			return realNameField;
		}
		set
		{
			realNameField = value;
		}
	}

	[DefaultValue("")]
	public string LOOP_ITERATION
	{
		get
		{
			return loopIteration;
		}
		set
		{
			loopIteration = value;
		}
	}

	[DefaultValue("")]
	public string MAX_ITERATION
	{
		get
		{
			return maxIteration;
		}
		set
		{
			maxIteration = value;
		}
	}

	[DefaultValue("")]
	public string TestPath
	{
		get
		{
			return testPathField;
		}
		set
		{
			testPathField = value;
		}
	}

	[DefaultValue("")]
	public string TestStartTime
	{
		get
		{
			return testStartTimeField;
		}
		set
		{
			testStartTimeField = value;
		}
	}

	[DefaultValue("")]
	public string TestStopTime
	{
		get
		{
			return testStopTimeField;
		}
		set
		{
			testStopTimeField = value;
		}
	}

	[DefaultValue("")]
	public string TestDuration
	{
		get
		{
			return testDurationTimeField;
		}
		set
		{
			testDurationTimeField = value;
		}
	}

	[DefaultValue("")]
	public string TestCaseRID
	{
		get
		{
			return testCaseRIdField;
		}
		set
		{
			testCaseRIdField = value;
		}
	}

	[DefaultValue("")]
	public string BlockedCRNo
	{
		get
		{
			return blockedCRNoField;
		}
		set
		{
			blockedCRNoField = value;
		}
	}

	[DefaultValue("")]
	public string Comments
	{
		get
		{
			return commentsField;
		}
		set
		{
			commentsField = value;
		}
	}

	[DefaultValue("")]
	public string LogFilePath
	{
		get
		{
			return logFilePathField;
		}
		set
		{
			logFilePathField = value;
		}
	}

	[DefaultValue("")]
	public string TestCaseRefRID
	{
		get
		{
			return testCaseRefRIdField;
		}
		set
		{
			testCaseRefRIdField = value;
		}
	}

	[DefaultValue("")]
	public string JIRAID
	{
		get
		{
			return jiraIdField;
		}
		set
		{
			jiraIdField = value;
		}
	}

	[DefaultValue("")]
	public string CRID
	{
		get
		{
			return crIdField;
		}
		set
		{
			crIdField = value;
		}
	}

	[DefaultValue("")]
	public string Warning
	{
		get
		{
			return warningField;
		}
		set
		{
			warningField = value;
		}
	}

	[DefaultValue("")]
	public string ErrorDescription
	{
		get
		{
			return errorDescField;
		}
		set
		{
			errorDescField = value;
		}
	}

	[DefaultValue("")]
	public string IRID
	{
		get
		{
			return irIdField;
		}
		set
		{
			irIdField = value;
		}
	}

	[DefaultValue("")]
	public string SRID
	{
		get
		{
			return srIdField;
		}
		set
		{
			srIdField = value;
		}
	}

	[DefaultValue("")]
	public string JIRACategories
	{
		get
		{
			return jiraCategoriesField;
		}
		set
		{
			jiraCategoriesField = value;
		}
	}

	[DefaultValue("")]
	public string NodeRID
	{
		get
		{
			return nodeRIDField;
		}
		set
		{
			nodeRIDField = value;
		}
	}

	[DefaultValue("")]
	public string ScenarioCombinedOptionsRID
	{
		get
		{
			return scenarioCombinedOptionsRIDField;
		}
		set
		{
			scenarioCombinedOptionsRIDField = value;
		}
	}

	[DefaultValue("")]
	public string ResultOptionsRID
	{
		get
		{
			return resultOptionsRIDField;
		}
		set
		{
			resultOptionsRIDField = value;
		}
	}

	[DefaultValue("")]
	public string NodeDetailsRID
	{
		get
		{
			return nodeDetailsRIDField;
		}
		set
		{
			nodeDetailsRIDField = value;
		}
	}

	[DefaultValue("")]
	public string NodeDataRID
	{
		get
		{
			return nodeDataRIDField;
		}
		set
		{
			nodeDataRIDField = value;
		}
	}

	public string TNAME
	{
		get
		{
			return tNAMEField;
		}
		set
		{
			tNAMEField = value;
		}
	}

	public string RES
	{
		get
		{
			return rESField;
		}
		set
		{
			rESField = value;
		}
	}

	public string NI
	{
		get
		{
			return niField;
		}
		set
		{
			niField = value;
		}
	}

	[XmlArrayItem("Input", IsNullable = false)]
	public ROOTTESTInput[] Inputs
	{
		get
		{
			return inputsField;
		}
		set
		{
			inputsField = value;
		}
	}

	public ROOTTESTLOOPVALUES LOOPVALUES
	{
		get
		{
			return lOOPVALUESField;
		}
		set
		{
			lOOPVALUESField = value;
		}
	}

	[XmlElement("ParamResults")]
	public ROOTTESTParamResults[] ParamResults
	{
		get
		{
			return paramResultsField;
		}
		set
		{
			paramResultsField = value;
		}
	}

	public string ERROR_CODE
	{
		get
		{
			return eRROR_CODEField;
		}
		set
		{
			eRROR_CODEField = value;
		}
	}

	public string StartTime
	{
		get
		{
			return startTimeField;
		}
		set
		{
			startTimeField = value;
		}
	}

	public List<TestConfigurationItem> TestConfigurationItems { get; set; }

	public bool ShouldSerializeTestConfig()
	{
		if (TestConfig != null)
		{
			return TestConfig.Count > 0;
		}
		return false;
	}

	public bool ShouldSerializeGroupId()
	{
		return !string.IsNullOrEmpty(GroupId);
	}

	public bool ShouldSerializeSkipReason()
	{
		return !string.IsNullOrEmpty(SkipReason);
	}

	public bool ShouldSerializeTestSpecification()
	{
		return !string.IsNullOrEmpty(TestSpecification);
	}

	public ROOTTEST()
	{
		nodeRIDField = "";
		scenarioCombinedOptionsRIDField = "";
		resultOptionsRIDField = "";
		errorCodeRIDField = "";
		nodeDetailsRIDField = "";
		nodeDataRIDField = "";
	}
}
