public void CanUseVirtualMethodInterceptionWithAdditionalInterfacesThroughConfiguration()
        {
            IUnityContainer container = GetContainer("CanUseVirtualMethodInterceptionWithAdditionalInterfacesThroughConfiguration");

            HasVirtualMethods    proxy  = container.Resolve <HasVirtualMethods>();
            IAdditionalInterface casted = (IAdditionalInterface)proxy;
            int value = casted.DoNothing();

            Assert.AreEqual <int>(100, value);
        }
        public void CanUseInterfaceInterceptionAdditionalInterfacesThroughConfiguration()
        {
            IUnityContainer container = GetContainer("CanUseInterfaceInterceptionAdditionalInterfacesThroughConfiguration");

            IInterfaceA          proxy  = container.Resolve <IInterfaceA>();
            IAdditionalInterface casted = (IAdditionalInterface)proxy;
            int value = casted.DoNothing();

            Assert.AreEqual <int>(100, value);
        }
        public void CanUseTransparentProxyInterceptionWithAdditionalInterfacesThroughConfiguration()
        {
            IUnityContainer container = GetContainer("CanUseTransparentProxyInterceptionWithAdditionalInterfacesThroughConfiguration");

            ImplementsMBRO       proxy  = container.Resolve <ImplementsMBRO>();
            IAdditionalInterface casted = (IAdditionalInterface)proxy;
            int value = casted.DoNothing();

            Assert.AreEqual <int>(100, value);
        }
        public void CanConfigureMultipleAdditionalInterfacesThroughConfiguration()
        {
            IUnityContainer      container = GetContainer("CanConfigureMultipleAdditionalInterfacesThroughConfiguration");
            IInterfaceA          proxy     = container.Resolve <IInterfaceA>();
            IAdditionalInterface casted    = (IAdditionalInterface)proxy;
            int value = casted.DoNothing();

            Assert.AreEqual <int>(100, value);

            IAdditionalInterface1 casted1 = (IAdditionalInterface1)proxy;
            int value1 = casted1.DoNothing1();

            Assert.AreEqual <int>(200, value1);
        }