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)); }
public void ConsoleProxyFactory_Create_ReturnsNonNull() { var proxyFactory = new ConsoleProxyFactory(new ConsoleWriter()); var subject = new ProxySubject(); var consoleProxy = proxyFactory.Create <IProxySubject>(subject); Assert.IsNotNull(consoleProxy); }
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); }
public void DoAction() { if (this.subject == null) { this.subject = new ProxyRealSubject(); } this.subject.DoAction(); }
static bool TestProxyPattern() { Console.WriteLine("TESTING THE PROXY DESIGN PATTERN: "); ISubject subject = new ProxySubject(); subject.Request(); return(true); }
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)); }
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); }
private void btnSaveProxy_Click(object sender, RoutedEventArgs e) { try { ProxySubject ObjProxy = new ProxySubject(); ObjProxy.Request(txtSampleVal.Text); } catch (Exception ex) { //Error Catching } }
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); }
// 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()); }
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; }
public static void Main(string[] args) { ISubject proxy = new ProxySubject(new Subject()); proxy.Operation(); }