public void GetServicesFrom_ExportInterfacesNoInterfaces_NothingRegistered() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyOtherService)); builder.ExportInterfaces(); ServiceInfo[] service = builder.GetServicesFrom(typeof(MyOtherService)).ToArray(); Assert.Equal(0, service.Length); }
public void GetServicesFrom_NoExportConfiguration_RegisterService() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(); List <ServiceInfo> services = builder.GetServicesFrom(typeof(MyService)).ToList(); Assert.Equal(1, services.Count); }
public void GetServicesFrom_NoTypeMatch_DoesNotExport() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(); ServiceInfo actual = builder.GetServicesFrom(typeof(IMyService1)).FirstOrDefault(); Assert.Null(actual); }
public void GetServicesFrom_ConfigureLifetime_RegisterLifetime() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(c => c.WithLifetime(Lifetime.Application)); ServiceInfo service = builder.GetServicesFrom(typeof(MyService)).First(); ServiceInfo expected = new ServiceInfo(typeof(MyService), typeof(MyService), Lifetime.Application); Assert.Equal(expected, service, this.comparer); }
public void GetServicesFrom_UseFromTypeAsContractName_RegisterContractName() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(c => c.AsContractName(c.FromType.Name)); ServiceInfo service = builder.GetServicesFrom(typeof(MyService)).First(); ServiceInfo expected = new ServiceInfo(typeof(MyService), typeof(MyService), "MyService", Lifetime.Instance); Assert.Equal(expected, service, this.comparer); }
public void GetServicesFrom_ConfigureContractType_RegisterContractType() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(c => c.AsContractType <IMyService1>()); ServiceInfo service = builder.GetServicesFrom(typeof(MyService)).First(); ServiceInfo expected = new ServiceInfo(typeof(IMyService1), typeof(MyService), Lifetime.Instance); Assert.Equal(expected, service, this.comparer); }
public void GetServicesFrom_NoExportConfiguration_RegisterSameTypeAsContract() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(); ServiceInfo service = builder.GetServicesFrom(typeof(MyService)).First(); ServiceInfo expected = new ServiceInfo(typeof(MyService), typeof(MyService), Lifetime.Instance); Assert.Equal(expected, service, this.comparer); }
public void GetServicesFrom_ExportBuilderWithMultipleConfigs_AllConfigurationsExported() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(c => c.AsContractType <IMyService1>().AsContractName("IMyService1").WithLifetime(Lifetime.Application)); var services = builder.GetServicesFrom(typeof(MyService)); ServiceInfo[] expected = { new ServiceInfo(typeof(IMyService1), typeof(MyService), "IMyService1", Lifetime.Application) }; AssertEx.AreEquivalent(services, this.comparer.Equals, expected); }
public void GetServicesFrom_ExportInterfacesWithFilter_RegisterContractType() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.ExportInterfaces(x => x == typeof(IMyService2)); List <ServiceInfo> services = builder.GetServicesFrom(typeof(MyService)).ToList(); ServiceInfo expected = new ServiceInfo(typeof(IMyService2), typeof(MyService), Lifetime.Instance); AssertEx.AreEquivalent(services, this.comparer.Equals, expected); }
public void GetServicesFrom_ExportInterfacesMultipleInterfacesWithExportConfig_RegisterConfig() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.ExportInterfaces(c => true, b => b.WithLifetime(Lifetime.Application)); List <ServiceInfo> services = builder.GetServicesFrom(typeof(MyService)).ToList(); ServiceInfo[] expected = { new ServiceInfo(typeof(IMyService1), typeof(MyService), Lifetime.Application), new ServiceInfo(typeof(IMyService2), typeof(MyService), Lifetime.Application), }; AssertEx.AreEquivalent(services, this.comparer.Equals, expected); }
public void GetServicesFrom_ExportInterfacesMultipleInterfaces_RegisterMultipleContractTypes() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.ExportInterfaces(); List <ServiceInfo> services = builder.GetServicesFrom(typeof(MyService)).ToList(); ServiceInfo[] expected = { new ServiceInfo(typeof(IMyService1), typeof(MyService), Lifetime.Instance), new ServiceInfo(typeof(IMyService2), typeof(MyService), Lifetime.Instance), }; AssertEx.AreEquivalent(services, this.comparer.Equals, expected); }
public void GetServicesFrom_MultipleConfigurations_AllConfigurationsExported() { ServiceBuilder builder = new ServiceBuilder(t => t == typeof(MyService)); builder.Export(c => c.AsContractType <IMyService1>()); builder.Export(c => c.AsContractType <IMyService2>()); var services = builder.GetServicesFrom(typeof(MyService)); ServiceInfo[] expected = new[] { new ServiceInfo(typeof(IMyService1), typeof(MyService), Lifetime.Instance), new ServiceInfo(typeof(IMyService2), typeof(MyService), Lifetime.Instance), }; AssertEx.AreEquivalent(services, this.comparer.Equals, expected); }