Ejemplo n.º 1
0
        /// <summary>
        /// Verify the response of RopEmptyFolder ROP operation.
        /// </summary>
        /// <param name="emptyFolderResponse">The response of RopEmptyFolder operation</param>
        private void VerifyRopEmptyFolder(RopEmptyFolderResponse emptyFolderResponse)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R241");

            // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R241
            Site.CaptureRequirementIfAreEqual<uint>(
                Constants.SuccessCode,
                emptyFolderResponse.ReturnValue,
                241,
                @"[In RopEmptyFolder ROP Response Buffer] ReturnValue (4 bytes): The server returns 0x00000000 to indicate success.");
        }
        /// <summary>
        /// Verify RopEmptyFolder Response
        /// </summary>
        /// <param name="ropEmptyFolderResponse">The response of RopEmptyFolder request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopEmptyFolder request</param>
        private void VerifyRopEmptyFolderResponse(RopEmptyFolderResponse ropEmptyFolderResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R895");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R895
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropEmptyFolderResponse.RopId.GetType(),
                895,
                @"[In RopEmptyFolder ROP Response Buffer] RopId (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R897");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R897
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopEmptyFolder,
                ropEmptyFolderResponse.RopId,
                897,
                @"[In RopEmptyFolder ROP Response Buffer] RopId (1 byte): For this operation[RopEmptyFolder], this field[RopId (1 byte)] is set to 0x58.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R898");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R898
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropEmptyFolderResponse.InputHandleIndex.GetType(),
                898,
                @"[In RopEmptyFolder ROP Response Buffer] InputHandleIndex (1 byte):An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R899");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R899
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropEmptyFolderResponse.InputHandleIndex,
                899,
                @"[In RopEmptyFolder ROP Response Buffer] InputHandleIndex (1 byte): This index MUST be set to the value specified in the InputHandleIndex field in the request.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R900");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R900
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropEmptyFolderResponse.ReturnValue.GetType(),
                900,
                @"[In RopEmptyFolder ROP Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R902,PartialCompletion:{0}", ropEmptyFolderResponse.PartialCompletion);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R902
            // If PartialCompletion is byte type and can be boolean type representation, then verify R902
            bool isVerifyR902 = (typeof(byte) == ropEmptyFolderResponse.PartialCompletion.GetType()) &&
                                ((Convert.ToBoolean(ropEmptyFolderResponse.PartialCompletion) == true) ||
                                (Convert.ToBoolean(ropEmptyFolderResponse.PartialCompletion) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR902,
                902,
                @"[In RopEmptyFolder ROP Response Buffer] PartialCompletion (1 byte): A Boolean.");
        }