void CaptureRequirementIfAreEqual()

in src/TestFramework/Core/ITestSite.cs [135:418]


        void CaptureRequirementIfAreEqual<T>(
            T expected, T actual,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is not equal to the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <typeparam name="T">The type of values for check</typeparam>
        /// <param name="expected">Expect value</param>
        /// <param name="actual">Actual value</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreNotEqual<T>(
            T expected, T actual,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is the same as the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="expected">The expected object</param>
        /// <param name="actual">The actual object</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreSame(
            object expected, object actual,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is not the same as the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="expected">The expected object</param>
        /// <param name="actual">The actual object</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreNotSame(
            object expected, object actual,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the boolean condition is true. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="condition">The boolean expression of the condition</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsTrue(
            bool condition, string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the boolean condition is false. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="condition">The boolean expression of the condition</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsFalse(
            bool condition, string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is null. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">The object value that needs to be checked.</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNull(
            object value, string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is not null. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">The object value that needs to be checked.</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNotNull(
            object value, string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is an instance of the expected type. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">Instance value</param>
        /// <param name="type">The expected instance type</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsInstanceOfType(
            object value, Type type,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is not an instance of the expected type. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">Instance value</param>
        /// <param name="type">The expected instance type</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNotInstanceOfType(
            object value, Type type,
            string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the HRESULT value is success. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="handle">The HRESULT value to check</param>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsSuccess(
            int handle, string protocolDocShortName,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Logs requirement as unverified.
        /// </summary>
        /// <param name="protocolDocShortName">User provide protocol short name</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        void UnverifiedRequirement(string protocolDocShortName, int requirementId, string description);

        /// <summary>
        /// Logs requirement as a checkpoint.
        /// </summary>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirement(int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is equal to the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <typeparam name="T">The type of values for check</typeparam>
        /// <param name="expected">Expect value</param>
        /// <param name="actual">Actual value</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreEqual<T>(
            T expected, T actual,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is not equal to the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <typeparam name="T">The type of values for check</typeparam>
        /// <param name="expected">Expect value</param>
        /// <param name="actual">Actual value</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreNotEqual<T>(
            T expected, T actual,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is the same as the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="expected">The expected object</param>
        /// <param name="actual">The actual object</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreSame(
            object expected, object actual,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the actual value is not the same as the expected value. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="expected">The expected object</param>
        /// <param name="actual">The actual object</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfAreNotSame(
            object expected, object actual,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the boolean condition is true. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="condition">The boolean expression of the condition</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsTrue(bool condition, int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the boolean condition is false. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="condition">The boolean expression of the condition</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsFalse(bool condition, int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is null. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">The object value that needs to be checked.</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNull(object value, int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is not null. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">The object value that needs to be checked.</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNotNull(object value, int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is an instance of the expected type. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">Instance value</param>
        /// <param name="type">The expected instance type</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsInstanceOfType(
            object value, Type type,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the value is not an instance of the expected type. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="value">Instance value</param>
        /// <param name="type">The expected instance type</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsNotInstanceOfType(
            object value, Type type,
            int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Verifies that the HRESULT value is success. Capture a requirement if the verification succeeds.
        /// </summary>
        /// <param name="handle">The HRESULT value to check</param>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        /// <param name="requirementType">Type of the requirement(May, Should, Must or Product).</param>
        void CaptureRequirementIfIsSuccess(int handle, int requirementId, string description, RequirementType requirementType = RequirementType.Undefined);

        /// <summary>
        /// Logs requirement as unverified.
        /// </summary>
        /// <param name="requirementId">The unique requirement number</param>
        /// <param name="description">The description of requirement</param>
        void UnverifiedRequirement(int requirementId, string description);

        #endregion

        /// <summary>
        /// Indicates the statistics of the results of the executed test cases
        /// </summary>
        Dictionary<PtfTestOutcome, int> TestResultsStatistics { get; }