public static void ReloadableParent() { var parent = new Reloadable(); var child = new Mux.Markup.Transform(); parent.Add(child); try { var reference = new WeakReference <Mux.Markup.IInternalTransform>(child); Mux.Markup.Transforms.Add("path", reference); Mux.Markup.Transforms.Reload(new[] { "path" }); Assert.IsEmpty(parent); Assert.True(parent.reloaded); LogAssert.Expect(LogType.Log, "Reloaded Mux"); LogAssert.NoUnexpectedReceived(); parent.reloaded = false; Mux.Markup.Transforms.Remove("path", reference); Mux.Markup.Transforms.Reload(new[] { "path" }); Assert.False(parent.reloaded); } finally { parent.Destroy(); } }
public static void Unreloadable() { var target = new Mux.Markup.Transform(); try { var reference = new WeakReference <Mux.Markup.IInternalTransform>(target); Mux.Markup.Transforms.Add("path", reference); Mux.Markup.Transforms.Reload(new[] { "path" }); LogAssert.Expect(LogType.Log, "Reloadable Mux ancestor not found for Mux.Markup.Transform."); LogAssert.NoUnexpectedReceived(); Mux.Markup.Transforms.Remove("path", reference); Mux.Markup.Transforms.Reload(new[] { "path" }); } finally { target.Destroy(); } }