public void CreateMetadata() { const Behavior mockBehavior = Behavior.Strict; var metadataBuilder = Mock.Create <IMetadataBuilder>(mockBehavior); var testObject = new MetadataRepository(metadataBuilder); var environmentMetadata = Mock.Create <IEnvironmentMetadata>(mockBehavior); var hierarchyMetadata = Mock.Create <IHierarchyMetadata>(mockBehavior); var graphMetadata = Mock.Create <IGraphMetadata>(mockBehavior); var metadata = new Model.Metadata(environmentMetadata, hierarchyMetadata, graphMetadata); Mock.Arrange(() => metadataBuilder.BuildEnvironmentMetadata()).Returns(environmentMetadata); Mock.Arrange(() => metadataBuilder.BuildHierarchyMetadata(environmentMetadata)).Returns(hierarchyMetadata); Mock.Arrange(() => metadataBuilder.BuildGraphMetadata(hierarchyMetadata)).Returns(graphMetadata); var result = testObject.CreateMetadata(); Assert.Same(metadata.EnvironmentMetadata, result.EnvironmentMetadata); Assert.Same(metadata.HierarchyMetadata, result.HierarchyMetadata); Assert.Same(metadata.GraphMetadata, result.GraphMetadata); }
public override void OnInspectorGUI() { Model.Metadata metadata = (Model.Metadata)target; if (metadata.data != null) { foreach (KeyValuePair <string, object> pair in metadata.data) { EditorGUILayout.BeginHorizontal(); { EditorGUILayout.SelectableLabel(pair.Key, EditorStyles.textField, GUILayout.Height(EditorGUIUtility.singleLineHeight), GUILayout.Width(EditorGUIUtility.labelWidth - 4)); EditorGUILayout.SelectableLabel(pair.Value != null ? pair.Value.ToString() : "", EditorStyles.textField, GUILayout.Height(EditorGUIUtility.singleLineHeight)); } EditorGUILayout.EndHorizontal(); } } if (GUI.changed) { EditorUtility.SetDirty(metadata); } }
public static void AddMetadata(FileInfo fileInfo, int fileId) { string ext = Util.GetFileExtension(fileInfo.Extension); List <string> txt = new List <string> { "Length", "Name", "CreationTime", "IsReadOnly", "LastAccessTime", "LastWriteTime", "Attributes" }; List <string> jpg = new List <string> { "Length", "Name", "CreationTime", "IsReadOnly", "LastAccessTime", "LastWriteTime", "Attributes" }; List <string> pdf = new List <string> { "Length", "Name", "CreationTime", "IsReadOnly", "LastAccessTime", "LastWriteTime", "Attributes" }; //if the set of metadatas for the new extension does not exist in the database use the defaultList of metadata List <string> defaultList = new List <string> { "Length", "Name", "CreationTime", "IsReadOnly", "LastAccessTime", "LastWriteTime", "Attributes" }; //all the metadata extensions Dictionary <string, List <string> > extensions = new Dictionary <string, List <string> >() { { "default", defaultList }, { "txt", txt }, { "jpg", jpg }, { "pdf", pdf } }; ext = extensions.ContainsKey(ext) ? ext : "default"; foreach (string metadataTypeName in extensions[ext]) { var metadata = new Model.Metadata(); metadata.Value = ReflectPropertyValuefileInfo(fileInfo, metadataTypeName).ToString(); RepositoryMetadata.SaveMetadataToDb(metadata, GetMetadataTypeId(metadataTypeName), fileId); } }
/// <summary> /// To the assimp metadata. /// </summary> /// <param name="m">The m.</param> /// <returns></returns> public static IEnumerable <KeyValuePair <string, Metadata.Entry> > ToAssimpMetadata(this Model.Metadata m) { foreach (var d in m) { yield return(new KeyValuePair <string, Metadata.Entry>(d.Key, new Metadata.Entry(d.Value.DataType.ToAssimpMetadataType(), d.Value.Data))); } }