Пример #1
0
        public void ConsoleProxyFactory_Create_ReturnsCorrectType()
        {
            var proxyFactory = new ConsoleProxyFactory(new ConsoleWriter());
            var subject      = new ProxySubject();
            var consoleProxy = proxyFactory.Create <IProxySubject>(subject);

            Assert.IsInstanceOfType(consoleProxy, typeof(IProxySubject));
        }
Пример #2
0
        public void ConsoleProxyFactory_Create_ReturnsNonNull()
        {
            var proxyFactory = new ConsoleProxyFactory(new ConsoleWriter());
            var subject      = new ProxySubject();
            var consoleProxy = proxyFactory.Create <IProxySubject>(subject);

            Assert.IsNotNull(consoleProxy);
        }
Пример #3
0
        public void ConsoleProxyFactory_ProxyExecutesWithoutParam()
        {
            var proxyFactory = new ConsoleProxyFactory(new ConsoleWriter());
            var subject      = new ProxySubject();
            var consoleProxy = proxyFactory.Create <IProxySubject>(subject);
            var value        = consoleProxy.SkipMe();

            Assert.AreEqual(ProxySubject.EchoValueConst, value);
        }
Пример #4
0
        public void DoAction()
        {
            if (this.subject == null)
            {
                this.subject = new ProxyRealSubject();
            }

            this.subject.DoAction();
        }
Пример #5
0
        static bool TestProxyPattern()
        {
            Console.WriteLine("TESTING THE PROXY DESIGN PATTERN: ");

            ISubject subject = new ProxySubject();

            subject.Request();

            return(true);
        }
Пример #6
0
        public void Message_GetValue_T()
        {
            var key            = "key";
            var value          = new ProxySubject();
            var controlMessage = CreateControlMessage();

            // tests setting/getting non-null typed object
            controlMessage.SetValue(key, value);
            Assert.AreEqual(value, controlMessage.GetValue <ProxySubject>(key));
        }
Пример #7
0
        public void RequestBroker_RegisterSubject_Success()
        {
            IProxySubject controlInstance = new ProxySubject();

            var broker            = new RequestBroker();
            var methodsRegistered = broker.AddService(controlInstance);

            var instanceMethodCount = typeof(IProxySubject).GetMethods().Count();

            Assert.AreEqual(instanceMethodCount - 1, methodsRegistered);
        }
Пример #8
0
 private void btnSaveProxy_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         ProxySubject ObjProxy = new ProxySubject();
         ObjProxy.Request(txtSampleVal.Text);
     }
     catch (Exception ex)
     {
         //Error Catching
     }
 }
Пример #9
0
        public async Task RequestBroker_InvokeVoid()
        {
            IProxySubject controlInstance = new ProxySubject();

            var broker            = new RequestBroker();
            var methodsRegistered = broker.AddService(controlInstance);
            var request           = RequestTests.CreateControlVoidRequest();

            var response = await broker.InvokeAsync(request);

            Assert.AreEqual(true, response.Success);
            Assert.AreEqual(request.CorrelationId, response.CorrelationId);
            Assert.AreEqual(request.Id, response.RequestId);
            Assert.IsNull(response.ReturnValue);
        }
Пример #10
0
        // GET: Proxy
        public ActionResult Index()
        {
            ISubject _subject = new RealSubject(); //持有资源

            Console.WriteLine("dosomething else"); //一直占用资源
            Console.WriteLine("dosomething else");
            Console.WriteLine("dosomething else");
            _subject.Dosomething();
            _subject.GetSomething();

            ISubject _Proxysubject = new ProxySubject();

            Console.WriteLine("dosomething else");
            _Proxysubject.Dosomething();//使用的时候调用
            _Proxysubject.GetSomething();
            return(View());
        }
Пример #11
0
 private void Initialize()
 {
     //Initialize the proxy subject
     Proxy               = new ProxySubject();
     Proxy.QueryURL      = _Instance.QueryURL;
     Proxy.ObjectsURL    = _Instance.ObjectsURL;
     Proxy.RESTDomainURL = _Instance.RESTDomainURL;
     Proxy.LoadGlobals();
     //Initialize the real subject
     RS               = new RealSubject();
     RS.QueryURL      = _Instance.QueryURL;
     RS.ObjectsURL    = _Instance.ObjectsURL;
     RS.RESTDomainURL = _Instance.RESTDomainURL;
     RS.LoadGlobals();
     //Initialize StaticObjects
     Instance.GetStaticObjects().OAuthURL   = _Instance.OAuthURL;
     Instance.GetStaticObjects().ObjectsURL = _Instance.ObjectsURL;
 }
Пример #12
0
    public static void Main(string[] args)
    {
        ISubject proxy = new ProxySubject(new Subject());

        proxy.Operation();
    }