/// <summary> /// This method is used to create the storage manifest data element. /// </summary> /// <param name="cellIDMapping">Specify the mapping of cell manifest.</param> /// <returns>Return the storage manifest data element.</returns> public static DataElement CreateStorageManifestDataElement(Dictionary <CellID, ExGuid> cellIDMapping) { StorageManifestDataElementData data = new StorageManifestDataElementData(); data.StorageManifestSchemaGUID = new StorageManifestSchemaGUID() { GUID = SchemaGuid }; foreach (KeyValuePair <CellID, ExGuid> kv in cellIDMapping) { StorageManifestRootDeclare manifestRootDeclare = new StorageManifestRootDeclare(); manifestRootDeclare.RootExtendedGUID = new ExGuid(2u, RootExGuid); manifestRootDeclare.CellID = new CellID(kv.Key); data.StorageManifestRootDeclareList.Add(manifestRootDeclare); } return(new DataElement(DataElementType.StorageManifestDataElementData, data)); }
/// <summary> /// This method is used to create the storage manifest data element. /// </summary> /// <param name="cellIDMapping">Specify the mapping of cell manifest.</param> /// <returns>Return the storage manifest data element.</returns> public static DataElement CreateStorageManifestDataElement(Dictionary<CellID, ExGuid> cellIDMapping) { StorageManifestDataElementData data = new StorageManifestDataElementData(); data.StorageManifestSchemaGUID = new StorageManifestSchemaGUID() { GUID = SchemaGuid }; foreach (KeyValuePair<CellID, ExGuid> kv in cellIDMapping) { StorageManifestRootDeclare manifestRootDeclare = new StorageManifestRootDeclare(); manifestRootDeclare.RootExtendedGUID = new ExGuid(2u, RootExGuid); manifestRootDeclare.CellID = new CellID(kv.Key); data.StorageManifestRootDeclareList.Add(manifestRootDeclare); } return new DataElement(DataElementType.StorageManifestDataElementData, data); }
/// <summary> /// This method is used to test Storage Manifest Root Declare related adapter requirements. /// </summary> /// <param name="instance">Specify the instance which need to be verified.</param> /// <param name="site">Specify the ITestSite instance.</param> public void VerifyStorageManifestRootDeclare(StorageManifestRootDeclare instance, ITestSite site) { // If the instance is not null and there are no parsing errors, then the StorageManifestRootDeclare related adapter requirements can be directly captured. if (null == instance) { site.Assert.Fail("The instance of type StorageManifestRootDeclare is null due to parsing error or type casting error."); } // Verify the stream object header related requirements. this.ExpectStreamObjectHeaderStart(instance.StreamObjectHeaderStart, instance.GetType(), site); // Directly capture requirement MS-FSSHTTPB_R278, if the stream object header is StreamObjectHeaderStart16bit. site.CaptureRequirementIfAreEqual<Type>( typeof(StreamObjectHeaderStart16bit), instance.StreamObjectHeaderStart.GetType(), "MS-FSSHTTPB", 278, @"[In Storage Manifest Data Element] Storage Manifest Root Declare (2 bytes): A 16-bit stream object header that specifies one or more storage manifest root declare."); // Directly capture requirement MS-FSSHTTPB_R279, if there are no parsing errors. site.CaptureRequirement( "MS-FSSHTTPB", 279, @"[In Storage Manifest Data Element] Root Extended GUID (variable): An extended GUID that specifies the root storage manifest."); // Directly capture requirement MS-FSSHTTPB_R280, if there are no parsing errors. site.CaptureRequirement( "MS-FSSHTTPB", 280, @"[In Storage Manifest Data Element] Cell ID (variable): A cell ID (section 2.2.1.10) that specifies the cell identifier."); // Verify the stream object header related requirements. this.ExpectSingleObject(instance.StreamObjectHeaderStart, site); }