public void MyServiceContainerGetFirstServiceGeneric() { ServiceContainer parentServiceContainer = new ServiceContainer(); ServiceContainer serviceContainer = new ServiceContainer(parentServiceContainer); ServiceContainer serviceSubContainer = new ServiceContainer(); parentServiceContainer.AddService(new MyGenericServiceProvider <int>()); parentServiceContainer.AddService(new MyGenericServiceProvider <int>()); parentServiceContainer.AddService(new MyGenericServiceProvider <double>()); parentServiceContainer.AddService(new MyAddService()); serviceContainer.AddService(new MyReverseGenericServiceProvider <int>()); serviceContainer.AddService(new MyGenericServiceProvider <int>()); serviceContainer.AddService(new MyGenericServiceProvider <string>()); serviceContainer.AddService(serviceSubContainer); serviceSubContainer.AddService(new MyReverseGenericServiceProvider <int>()); serviceSubContainer.AddService(new MyReverseGenericServiceProvider <long>()); serviceSubContainer.AddService(new MyGenericService2Provider <string, int>()); serviceSubContainer.AddService(new MyGenericService2Provider <string, float>()); IMyGenericListService <int> service1 = serviceContainer.GetService <IMyGenericListService <int> >(); Assert.IsNotNull(service1); IMyGenericListService <double> service2 = serviceContainer.GetService <IMyGenericListService <double> >(); Assert.IsNotNull(service2); IMyAddService service3 = serviceContainer.GetService <IMyAddService>(); Assert.IsNotNull(service3); MyGenericServiceProvider <string> service4 = serviceContainer.GetService <MyGenericServiceProvider <string> >(); Assert.IsNotNull(service4); MyReverseGenericServiceProvider <long> service5 = serviceContainer.GetService <MyReverseGenericServiceProvider <long> >(); Assert.IsNotNull(service5); MyGenericService2Provider <string, int> service6 = serviceContainer.GetService <MyGenericService2Provider <string, int> >(); Assert.IsNotNull(service6); IMyGenericListService <float> service7 = serviceContainer.GetService <IMyGenericListService <float> >(); Assert.IsNull(service7); MyGenericService2Provider <string, string> service8 = serviceContainer.GetService <MyGenericService2Provider <string, string> >(); Assert.IsNull(service8); IMySubService service9 = serviceContainer.GetService <IMySubService>(); Assert.IsNull(service9); }
public void MyServiceProvider() { MyServiceProvider myProvider = new MyServiceProvider(); IMyAddService myAdd = myProvider.GetService <IMyAddService>(); Assert.AreEqual(0, myAdd.Add(0, 0)); Assert.AreEqual(2, myAdd.Add(1, 1)); Assert.AreEqual(0, myAdd.Add(1, -1)); Assert.AreEqual(5, myAdd.Add(4, 1)); IMySubService mySub = myProvider.GetService <IMySubService>(); Assert.AreEqual(0, mySub.Sub(0, 0)); Assert.AreEqual(2, mySub.Sub(2, 0)); Assert.AreEqual(0, mySub.Sub(1, 1)); Assert.AreEqual(2, mySub.Sub(1, -1)); Assert.AreEqual(3, mySub.Sub(4, 1)); }