public void TestServiceProviderExtensions() { var intBus = new Bus <int>(); var serviceProvider = new MyServiceProvider().Add <int>(() => 1).Add <IMessageBusPublisher <int> >(() => intBus).Add <IMessageBusSubscriptions <int> >(() => intBus); var intValue = serviceProvider.GetService <int>(); Assert.Equal(1, intValue); var publisher = serviceProvider.Publisher <int>(); Assert.Equal(publisher, intBus); serviceProvider.GetService <ServiceProviderExtensionsTests>(); var count = 0; serviceProvider.Subscribe <int>(s => s.Handler(m => count += m)); serviceProvider.Publish(5); Assert.Equal(5, count); serviceProvider.PublishRange(new[] { 5, 5, 5 }); Assert.Equal(20, count); }
public async Task Test_SetAsync_Ok() { var repo = MyServiceProvider.GetService <IRedisRepository>(); var flag = await repo.SetAsync("test", new byte[] { 97, 98, 99 }, TimeSpan.FromSeconds(100)); Assert.True(flag); var bytes = await repo.GetAsync <byte[]>("test"); Assert.Equal((byte)98, bytes[1]); await repo.SetAsync("char", 'A', TimeSpan.FromSeconds(100)); var char1 = await repo.GetAsync <char>("char"); Assert.Equal('A', char1); await repo.SetAsync("int", 1000, TimeSpan.FromSeconds(100)); var int1 = await repo.GetAsync <int>("int"); Assert.Equal(1000, int1); Assert.IsType <int>(int1); await repo.SetAsync("string", "haha", TimeSpan.FromSeconds(100)); var string1 = await repo.GetAsync <string>("string"); Assert.Equal("haha", string1); await repo.SetAsync <dynamic>("object", new { orderId = 1, productId = 1 }, TimeSpan.FromSeconds(100)); var object1 = await repo.GetAsync <dynamic>("object"); Assert.Equal(1, (int)object1.orderId); }
public void Test1() { var obj1 = MyServiceProvider.GetService <IAModel>(); Assert.IsType <AModel>(obj1); var obj2 = MyServiceProvider.GetService <IBModel>(); Assert.IsType <BModel>(obj2); var obj3 = MyServiceProvider.GetService <ICModel>(); Assert.NotNull(obj3); var obj4 = MyServiceProvider.GetService <CModel>(); Assert.Null(obj4); var obj5 = MyServiceProvider.GetService <DModel>(); Assert.Null(obj5); var obj6 = MyServiceProvider.GetService <IEModel>(); Assert.Null(obj6); try { var obj7 = MyServiceProvider.GetService <IFModel>(); } catch { //Assert.IsType<NullReferenceException>(ex.GetBaseException()); } }
public void Test_Logging_Ok() { var logger = MyServiceProvider.GetService <ILogger>(); var ex = new NullReferenceException("the test object is null"); logger.LogError(ex, "run to hehe ocurred error"); }
public void ConstructorWithServiceProvider() { MyServiceProvider serviceProvider = new MyServiceProvider(); using (TestContainer testContainer = new TestContainer(serviceProvider)) { Assert.AreSame(serviceProvider, testContainer.parentServiceProvider); Assert.AreEqual(0, testContainer.services.Count); Assert.AreEqual(0, testContainer.profferedServices.Count); } }
private static IMyServiceProvider ConfigureServices() { var serviceProvider = new MyServiceProvider(); serviceProvider.Add <IEngine, Engine>(); serviceProvider.Add <IWriter, FileWriter>(); serviceProvider.Add <IReader, ConsoleReader>(); return(serviceProvider); }
public AutoRestServiceCollectionExtensionsTests() { _provider = new MyServiceProvider(); var httpFactoryMock = new Mock <IHttpClientFactory>(); httpFactoryMock.Setup(f => f.CreateClient(string.Empty)).Returns(new HttpClient()); // Register dependencies _provider.AddScoped <ServiceClientCredentials>(_ => new MyServiceClientCredentials()); _provider.AddScoped(_ => httpFactoryMock.Object); }
public ProducerBase(string connectionName, string queueName, string routingKey, string exchangeName, string exchangeType = "direct", bool durable = true) : base(connectionName) { QueueName = queueName; RoutingKey = routingKey; ExchangeName = exchangeName; ExchangeType = exchangeType; Durable = durable; _logger = MyServiceProvider.GetService <ILogger>(); _channel = Connection.CreateModel(); }
/// <summary> /// Obtiene el proveedor de servicios para comunicarse con <c>ControlExchange</c>. /// </summary> private IServiceProvider GetServiceProvider() { MyServiceProvider serviceProvider = new MyServiceProvider(this); return(serviceProvider); }