public void SerializationUtilityCanDeserializeCustomSerializable() { CustomSerializable deserializedInstance = SerializationUtility.DeserializeFromString("testcontents", typeof(CustomSerializable), ApplicationNode.Hierarchy) as CustomSerializable; Assert.IsNotNull(deserializedInstance); Assert.AreEqual("testcontents", deserializedInstance.Contents); }
/// <summary> /// Draws the "Add entry" button and the context menu /// </summary> private void DrawAddEntryButton(Rect _Position, SerializedProperty _DataList) { if (GUI.Button(_Position, EditorIcons.IconContent(EEditorIcon.AddDropdown, "Add Entry", "Creates a new entry on this Blackboard"), MuffinDevGUI.PropertyFieldButtonStyle)) { GenericMenu menu = new GenericMenu(); menu.AddDisabledItem(new GUIContent("New Entry Type")); foreach (KeyValuePair <Type, IBlackboardValueEditor> valueEditor in VALUE_EDITORS) { menu.AddItem(new GUIContent(ObjectNames.NicifyVariableName(valueEditor.Key.Name)), false, () => { int index = _DataList.arraySize; _DataList.InsertArrayElementAtIndex(index); SerializedProperty prop = _DataList.GetArrayElementAtIndex(index); prop.FindPropertyRelative(KEY_PROP).stringValue = $"New{valueEditor.Key.Name}"; prop.FindPropertyRelative(DATA_TYPE_NAME_PROP).stringValue = valueEditor.Key.AssemblyQualifiedName; object data = SerializationUtility.DeserializeFromString(valueEditor.Key, string.Empty); prop.FindPropertyRelative(SERIALIZED_DATA_PROP).stringValue = SerializationUtility.SerializeToString(data); prop.serializedObject.ApplyModifiedProperties(); }); } menu.ShowAsContext(); } }
public void SerializationUtilityDeserializesToNullOnFailure() { string relativePathToInstrumentationNode = "/non extisting path"; InstrumentationNode deserializedInstance = SerializationUtility.DeserializeFromString(relativePathToInstrumentationNode, typeof(InstrumentationNode), ApplicationNode.Hierarchy) as InstrumentationNode; Assert.IsNull(deserializedInstance); }
public void SerializationUtilityCanDeserializeConfigurationNode() { InstrumentationNode instrumentationNode = new InstrumentationNode(); ApplicationNode.AddNode(instrumentationNode); string relativePathToInstrumentationNode = SerializationUtility.CreatePathRelativeToRootNode(instrumentationNode.Path, ApplicationNode.Hierarchy); Assert.IsNotNull(relativePathToInstrumentationNode); InstrumentationNode deserializedInstance = SerializationUtility.DeserializeFromString(relativePathToInstrumentationNode, typeof(InstrumentationNode), ApplicationNode.Hierarchy) as InstrumentationNode; Assert.AreEqual(instrumentationNode, deserializedInstance); }
public void SerializationUtilityCanDeserializeConvertible() { Assert.AreEqual(123, (int)SerializationUtility.DeserializeFromString("123", typeof(int), ApplicationNode.Hierarchy)); }
public void SerializationUtilityCanDeserializeNull() { Assert.IsNull(SerializationUtility.DeserializeFromString(null, typeof(string), ApplicationNode.Hierarchy)); }
/// <summary> /// Gets the value of the given entry. /// </summary> /// <param name="_Item">The serialized property that represent an entry of a blackboard.</param> public T GetValue(SerializedProperty _Item) { return(SerializationUtility.DeserializeFromString <T>(GetSerializedDataProperty(_Item).stringValue)); }