public void TestFeatureExist() { var app = RetrieveApplication(); var featureEntity = app.Data.World.CreateEntity(); featureEntity.Set <IFeature>(new ShareWorldStateFeature(new ThreadTransportDriver(1))); var resolver = new DependencyResolver(app.Scheduler, app.Data.Context); resolver.Add <GetFeature <ShareWorldStateFeature> >(FeatureDependencyStrategy.Absolute <ShareWorldStateFeature>(app.Data.Collection)); resolver.OnComplete(objects => { if (objects.First() is GetFeature <ShareWorldStateFeature> features) { Assert.AreEqual(1, features.Count, "There should have been one feature in GetFeature<T>"); return; } Assert.Fail("The first completed object is not valid"); }); Global.Loop(); if (resolver.Dependencies.Count > 0) { Assert.Fail("The resolver has dependencies that are not finished."); } }