public void CanRegisterAndLocateAService() { var locator = new ServiceLocator(); var myServiceInstance = new TestEchoService(); var manager = locator.Locate <IServiceLocationRuntimeManager>(); Assert.IsNotNull(manager); manager.RegisterServiceInstance <ITestEchoService>(myServiceInstance); var service = locator.Locate <ITestEchoService>(); Assert.IsNotNull(service); Assert.AreEqual("Works", service.Echo("Works")); }
public void CanOverrideAndLocateAService() { var locator = new ServiceLocator(); var echoServiceInstance = new TestEchoService(); var reverseEchoServiceInstance = new TestReverseEchoService(); var runtimeManager = locator.Locate <IServiceLocationRuntimeManager>(); var overrrideManager = locator.Locate <IServiceLocationOverrideManager>(); Assert.IsNotNull(runtimeManager); Assert.IsNotNull(overrrideManager); runtimeManager.RegisterServiceInstance <ITestEchoService>(echoServiceInstance); overrrideManager.RegisterServiceInstance <ITestEchoService>(reverseEchoServiceInstance); var service = locator.Locate <ITestEchoService>(); Assert.IsNotNull(service); Assert.IsInstanceOfType(service, typeof(TestReverseEchoService)); Assert.AreEqual("skroW", service.Echo("Works")); }