示例#1
0
        public void ShouldAddBehaviourToDescription()
        {
            var container = new MiniCoreContainer();
            var host      = new MiniCoreServiceHost(container, typeof(MockService), new[] { new Uri("net.tcp://mock") });

            host.Open();
            host.Close();

            Assert.IsTrue(host.Description.Behaviors.Any(a => a.GetType() == typeof(MiniCoreInstanceProviderBehaviour)));
        }
示例#2
0
        public void ShouldProvideInstance()
        {
            var container = new MiniCoreContainer();
            var instance  = new MockPoco();

            container.Register(instance);

            var provider = new MiniCoreInstanceProvider(container);
            var context  = new InstanceContext(new MockServiceHost(typeof(MockPoco)));

            var actual = provider.GetInstance(context);

            Assert.AreSame(instance, actual);
        }
示例#3
0
        public void ShouldApplyBehaviour()
        {
            var host       = new MockServiceHost(typeof(MockPoco));
            var dispatcher = new MockChannelDispatcher();

            dispatcher.Endpoints.Add(new EndpointDispatcher(new EndpointAddress("net.tcp://mock"), "", ""));
            host.ChannelDispatchers.Add(dispatcher);

            var container = new MiniCoreContainer();
            var behaviour = new MiniCoreInstanceProviderBehaviour(new MiniCoreInstanceProvider(container));

            behaviour.ApplyDispatchBehavior(new ServiceDescription(), host);

            var endpoints = new List <EndpointDispatcher>();

            foreach (var channelDispatcher in host.ChannelDispatchers)
            {
                endpoints.AddRange((channelDispatcher as MockChannelDispatcher).Endpoints);
            }

            CollectionAssert.AllItemsAreInstancesOfType(endpoints.Select(s => s.DispatchRuntime.InstanceProvider).ToList(), typeof(MiniCoreInstanceProvider));
        }
示例#4
0
 public void TestInitialize()
 {
     container = new MiniCoreContainer();
 }