public void TestOnlyRpcAreSynchronized() { var client = CFacade.InitBind(new PartSync(), TestLifetime, ClientProtocol); var proxy = SFacade.ActivateProxy <IPartSync>(TestLifetime, ServerProtocol); Assertion.Assert(((RdExtReflectionBindableBase)proxy).Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); }
public void Test1() { var s = SFacade.InitBind(new RootModel(), TestLifetime, ClientProtocol); var c = CFacade.InitBind(new RootModel(), TestLifetime, ServerProtocol); s.EmptyOK.Value = new EmptyOK(); Assert.IsNotNull(c.EmptyOK.Value); }
public void TestNulls() { var proxy = SFacade.ActivateProxy <IUnitTestRemoteAgent>(TestLifetime, ServerProtocol); var client = CFacade.Activator.ActivateBind <UnitTestRemoteAgent>(TestLifetime, ClientProtocol); Assertion.Assert(((RdExtReflectionBindableBase)proxy).Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); proxy.RunTests(null); proxy.RunTests(new TestRunRequest()); }
public void TestLeaks() { var proxy = SFacade.ActivateProxy <IUnitTestRemoteAgent>(TestLifetime, ServerProtocol); var client = CFacade.Activator.ActivateBind <UnitTestRemoteAgent>(TestLifetime, ClientProtocol); var checkpoint = dotMemory.Check(); for (int i = 0; i < 100000; i++) { proxy.RunTests(new TestRunRequest()); } dotMemory.Check(m => Assert.Less(m.GetDifference(checkpoint).GetNewObjects().SizeInBytes, 128_000)); }
public void TestCustomSignal() { var client = CFacade.InitBind(new ExtWithCustomSignal(), TestLifetime, ClientProtocol); var proxy = SFacade.ActivateProxy <IExtWithCustomSignal>(TestLifetime, ServerProtocol); int val = 0; proxy.Signal.Advise(TestLifetime, v => val = int.Parse(v.v1)); proxy.Signal.Fire(new Payload("123", "456")); Assert.AreEqual(val, 123); client.Signal.Fire(new Payload("12", "34")); Assert.AreEqual(val, 12); }
public void TestInheritance1() { SaveGeneratedAssembly(); var client = CFacade.Activator.ActivateBind <InheritanceTest>(TestLifetime, ClientProtocol); var proxy = SFacade.ActivateProxy <IInheritanceTest>(TestLifetime, ServerProtocol); Assertion.Assert(((RdExtReflectionBindableBase)proxy).Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); // test signals bool raised = false; proxy.Signal.Advise(TestLifetime, s => raised = true); client.Signal.Fire("test"); Assertion.Assert(raised, "!raised"); }
public void TestSimple() { var proxy = SFacade.ActivateProxy <ISimpleCalls>(TestLifetime, ServerProtocol); SaveGeneratedAssembly(); var client = CFacade.Activator.ActivateBind <SimpleCalls>(TestLifetime, ClientProtocol); // typeof(Reflection.SimpleCalls);// Assertion.Assert(((RdExtReflectionBindableBase)proxy).Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); proxy.M(); Assert.AreEqual(client.GetString(), proxy.GetString()); Assert.AreEqual(client.GetInt(), proxy.GetInt()); Assert.AreEqual(client.GetLong(), proxy.GetLong()); Assert.AreEqual(client.ReverseString("test"), proxy.ReverseString("test")); Assert.AreEqual(null, proxy.GetStoredString()); proxy.StoreString("test"); Assert.AreEqual("test", proxy.GetStoredString()); }
public void TestProperties() { SaveGeneratedAssembly(); var client = CFacade.Activator.ActivateBind <PropertiesTest>(TestLifetime, ClientProtocol); var proxy = SFacade.ActivateProxy <IPropertiesTest>(TestLifetime, ServerProtocol); Assertion.Assert(((RdExtReflectionBindableBase)proxy).Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); AddType(typeof(LifeModel)); // test signals bool raised = false; proxy.Signal.Advise(TestLifetime, s => raised = true); client.Signal.Fire("test"); Assertion.Assert(raised, "!raised"); // test life models client.List.Add(new LifeModel()); Assert.True(proxy.List.Count == 1, "client.List.Count == 1"); client.List[0].StrProperty.Value = "Hello From Rd"; Assert.AreEqual(proxy.List[0].StrProperty.Value, client.List[0].StrProperty.Value); }
protected async Task TestTemplate <TImpl, TInterface>(Action <TInterface> runTest) where TImpl : RdBindableBase where TInterface : class { await YieldToClient(); var client = CFacade.Activator.ActivateBind <TImpl>(TestLifetime, ClientProtocol); await YieldToServer(); var proxy = SFacade.ActivateProxy <TInterface>(TestLifetime, ServerProtocol); await Wait(); SaveGeneratedAssembly(); await YieldToServer(); Assertion.Assert((proxy as RdExtReflectionBindableBase).NotNull().Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value"); await Task.Run(() => runTest(proxy)); await Wait(); }
protected void TestTemplate <TImpl, TInterface>(Action <TInterface> runTest) where TImpl : RdBindableBase where TInterface : class { ClientProtocol.Scheduler.Queue(() => { var client = CFacade.Activator.ActivateBind <TImpl>(TestLifetime, ClientProtocol); }); TInterface proxy = null; ServerProtocol.Scheduler.Queue(() => { proxy = SFacade.ActivateProxy <TInterface>(TestLifetime, ServerProtocol); }); WaitMessages(); using (var barrier = new ManualResetEvent(false)) { ServerProtocol.Scheduler.Queue(() => Assertion.Assert((proxy as RdExtReflectionBindableBase).NotNull().Connected.Value, "((RdReflectionBindableBase)proxy).Connected.Value")); runTest(proxy); ServerProtocol.Scheduler.Queue(() => barrier.Set()); WaitMessages(); barrier.WaitOne(); } }
public async Task Test() { await YieldToClient(); var client = CFacade.ActivateProxy <IModelOwner>(TestLifetime, ClientProtocol); await YieldToServer(); var server = SFacade.InitBind(new ModelOwner(SFacade.Activator), TestLifetime, ServerProtocol); await Wait(); await YieldToClient(); var liveModel = await client.M(TestLifetime); await YieldToClient(); liveModel.Values.Add("Test"); await Wait(); Assert.AreEqual("Test", ourState); }
public void TestNegative1() { Assert.Throws <ArgumentException>(() => SFacade.ActivateProxy <IInheritanceTest>(TestLifetime, ServerProtocol)); }