public void ResolvedDataObjectReference_SerializesToJson_WhenNullable() { try { DataObjectRegistries.Reset(); DataObjectRegistries.Register(GetType().Assembly); DataObjectRegistries.Get <TestDataObject>().SetSourceFiles(new[] { Path.Combine("Data", "DataObjectRegistryData.xml") }); DataObjectRegistries.Load(); var reference = DataObjectRegistries.ResolveReference("@test:TEST_OBJECT_1"); var json1 = JsonConvert.SerializeObject((ResolvedDataObjectReference?)reference); TheResultingString(json1) .ShouldBe(@"""@test:TEST_OBJECT_1"""); } finally { DataObjectRegistries.Reset(); } }
public void ResolvedDataObjectReference_SerializesToJson() { try { DataObjectRegistries.Reset(); DataObjectRegistries.Register(GetType().Assembly); DataObjectRegistries.Get <TestDataObject>().SetSourceFiles(new[] { Path.Combine("Resources", "DataObjectRegistryData.xml") }); DataObjectRegistries.Load(); var reference = DataObjectRegistries.ResolveReference("@test:TEST_OBJECT_1"); var json = JsonConvert.SerializeObject(reference, CoreJsonSerializerSettings.Instance); TheResultingString(json) .ShouldBe(@"""@test:TEST_OBJECT_1"""); } finally { DataObjectRegistries.Reset(); } }
/// <summary> /// Resolves an object reference. If the reference cannot be resolved, an exception is thrown. /// </summary> /// <param name="reference">The object reference to resolve.</param> /// <returns>The resolved object reference.</returns> public static ResolvedDataObjectReference ResolveReference(String reference) => DataObjectRegistries.ResolveReference(reference);
/// <summary> /// Reads a <see cref="ResolvedDataObjectReference"/> value. /// </summary> private static Object ReadJson_ResolvedDataObjectReference(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) { var reference = (String)serializer.Deserialize(reader, typeof(String)); return(DataObjectRegistries.ResolveReference(reference)); }