public void eject_family_removes_the_family_and_disposes_all_of_its_instances() { var instance1 = new FakeInstance(); var instance2 = new FakeInstance(); var instance3 = new FakeInstance(); var graph = new PluginGraph(); graph.Families[typeof(IThingy)].AddInstance(instance1); graph.Families[typeof(IThingy)].AddInstance(instance2); graph.Families[typeof(IThingy)].AddInstance(instance3); graph.EjectFamily(typeof(IThingy)); instance1.WasDisposed.ShouldBeTrue(); instance2.WasDisposed.ShouldBeTrue(); instance3.WasDisposed.ShouldBeTrue(); graph.Families.Has(typeof(IThingy)); }
public void EjectAllInstancesOf <T>() { _pluginGraph.EjectFamily(typeof(T)); }