예제 #1
0
        public void CloseCommunicationsCleansUpEachChannel()
        {
            var cleaned = false;
            var channel = new ChannelStub
            {
                OnCleanUpAction = () => cleaned = true
            };
            var server = new Server("Test", new[] { channel });

            server.CloseCommunications();
            Assert.IsTrue(cleaned);
        }
예제 #2
0
        public void StopClosesCommunications()
        {
            var cleaned = false;
            var channel = new ChannelStub
            {
                OnCleanUpAction = () => cleaned = true
            };
            var server      = new Server("Test", new[] { channel });
            var application = new Application
            {
                Configuration = server
            };

            application.Stop();
            Assert.IsTrue(cleaned);
        }
예제 #3
0
        public void StartOpensCommunications()
        {
            var initialised = false;
            var channel     = new ChannelStub
            {
                OnInitialiseAction = () => initialised = true
            };
            var server      = new Server("Test", new[] { channel });
            var application = new Application
            {
                Configuration = server
            };

            application.Start();
            Assert.IsTrue(initialised);
        }
예제 #4
0
        public void OpenCommunicationsInitialisesEachChannel()
        {
            var initialised = false;
            var channel     = new ChannelStub
            {
                OnInitialiseAction = () => initialised = true
            };
            var server = new Server("Test", new[] { channel })
            {
                ActionInvoker = new ActionInvoker()
            };

            server.OpenCommunications();
            Assert.IsTrue(initialised);
            Assert.AreSame(server.ActionInvoker, channel.Invoker);
        }