Esempio n. 1
0
        public async Task TestSendAsync()
        {
            var target  = new ThreadNameExtractingTestTarget();
            var channel = new DirectChannel(provider.GetService <IApplicationContext>());

            channel.Subscribe(target);
            var message = Message.Create("test");

            Assert.True(await channel.SendAsync(message));
        }
Esempio n. 2
0
        public async Task TestWaitToWriteAsync()
        {
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider.GetService <IApplicationContext>());

            channel.Subscribe(target);
            Assert.True(await channel.Writer.WaitToWriteAsync());
            channel.Unsubscribe(target);
            Assert.False(await channel.Writer.WaitToWriteAsync());
        }
Esempio n. 3
0
        public void testSend()
        {
            DirectChannel channel = new DirectChannel();
            ThreadNameExtractingTestTarget target = new ThreadNameExtractingTestTarget();

            channel.Subscribe(target);
            StringMessage message = new StringMessage("test");

            Assert.IsTrue(channel.Send(message));
            Assert.That(target.ThreadName, Is.EqualTo(Thread.CurrentThread.Name));
        }
Esempio n. 4
0
        public void TestSend()
        {
            var target  = new ThreadNameExtractingTestTarget();
            var channel = new DirectChannel(provider.GetService <IApplicationContext>());

            channel.Subscribe(target);
            var message     = Message.Create("test");
            var currentId   = Task.CurrentId;
            var curThreadId = Thread.CurrentThread.ManagedThreadId;

            Assert.True(channel.Send(message));
            Assert.Equal(currentId, target.TaskId);
            Assert.Equal(curThreadId, target.ThreadId);
        }
Esempio n. 5
0
        public async Task TestWaitToWriteAsync()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider);

            channel.Subscribe(target);
            Assert.True(await channel.Writer.WaitToWriteAsync());
            channel.Unsubscribe(target);
            Assert.False(await channel.Writer.WaitToWriteAsync());
        }
Esempio n. 6
0
        public async Task TestSendAsync()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider);

            channel.Subscribe(target);
            var message = new GenericMessage("test");

            Assert.True(await channel.SendAsync(message));
        }
Esempio n. 7
0
        public void TestSendInSeparateThread()
        {
            var latch   = new CountdownEvent(1);
            var channel = new DirectChannel(provider.GetService <IApplicationContext>());
            var target  = new ThreadNameExtractingTestTarget(latch);

            channel.Subscribe(target);
            var message = Message.Create("test");
            var thread  = new Thread(() => channel.Send(message));

            thread.Name = "test-thread";
            thread.Start();
            latch.Wait(1000);
            Assert.Equal("test-thread", target.ThreadName);
        }
Esempio n. 8
0
        public async Task TestWriteAsync()
        {
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider.GetService <IApplicationContext>());

            channel.Subscribe(target);
            var message     = Message.Create("test");
            var currentId   = Task.CurrentId;
            var curThreadId = Thread.CurrentThread.ManagedThreadId;
            await channel.Writer.WriteAsync(message);

            Assert.Equal(currentId, target.TaskId);
            Assert.Equal(curThreadId, target.ThreadId);
        }
Esempio n. 9
0
        public void testSendInSeparateThread()
        {
            CountDownLatch latch   = new CountDownLatch(1);
            DirectChannel  channel = new DirectChannel();
            ThreadNameExtractingTestTarget target = new ThreadNameExtractingTestTarget(latch);

            channel.Subscribe(target);
            StringMessage message = new StringMessage("test");
            Thread        t       = new Thread(new ThreadStart(delegate { channel.Send(message); }));

            t.Name = "test-thread";
            t.Start();
            latch.Await(new TimeSpan(0, 0, 0, 0, 1000));
            Assert.That(target.ThreadName, Is.EqualTo("test-thread"));
        }
Esempio n. 10
0
        public void TestTryWrite()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var target   = new ThreadNameExtractingTestTarget();
            var channel  = new DirectChannel(provider);

            channel.Subscribe(target);
            var message     = new GenericMessage("test");
            var currentId   = Task.CurrentId;
            var curThreadId = Thread.CurrentThread.ManagedThreadId;

            Assert.True(channel.Writer.TryWrite(message));
            Assert.Equal(currentId, target.TaskId);
            Assert.Equal(curThreadId, target.ThreadId);
        }
Esempio n. 11
0
        public void TestSendInSeparateThread()
        {
            var services = new ServiceCollection();

            services.AddSingleton <IIntegrationServices, IntegrationServices>();
            var provider = services.BuildServiceProvider();
            var latch    = new CountdownEvent(1);
            var channel  = new DirectChannel(provider);
            var target   = new ThreadNameExtractingTestTarget(latch);

            channel.Subscribe(target);
            var message = new GenericMessage("test");
            var thread  = new Thread(() => channel.Send(message));

            thread.Name = "test-thread";
            thread.Start();
            latch.Wait(1000);
            Assert.Equal("test-thread", target.ThreadName);
        }