예제 #1
0
        public void DoSyncSlaveSimpleTest()
        {
            using (SlaveManager currentSlaveManager = new SlaveManager()) {
                IIPCGUID slaveReceaverGUID = new IPCReceaverGUID(currentSlaveManager.LaunchSlave());
                // wait for slave is launched and ininialized;
                Thread.CurrentThread.Join(3000);
                using (BaseIPCDispatcher dispatcher = new BaseIPCDispatcher(slaveReceaverGUID)) {
                    TestSyncMessage test = new TestSyncMessage(dispatcher.Receaver);
                    test.StrIn   = "Hi Slave!";
                    test.TimeOut = SlaveResponces.SyncMessageSlaveDelay + 2000;
                    IPCDispatchResult dispatchResult = dispatcher.Dispatch(test);
                    Assert.IsTrue(dispatchResult == IPCDispatchResult.Success, "Unable to send message error because of the reason {0}", dispatchResult);
                    Assert.IsTrue(String.Equals(test.StrOut, SlaveResponces.TestSyncResponceString), "Time is up");
                }

                using (BaseIPCDispatcher dispatcher = new BaseIPCDispatcher(slaveReceaverGUID)) {
                    TestSyncMessage test = new TestSyncMessage(dispatcher.Receaver);
                    test.StrIn   = "Hi Slave!";
                    test.TimeOut = SlaveResponces.SyncMessageSlaveDelay - 2000;
                    IPCDispatchResult dispatchResult = dispatcher.Dispatch(test);
                    Assert.IsTrue(dispatchResult
                                  == IPCDispatchResult.Timeout, "Timeout is an expected but {0} is dispatch result", dispatchResult);
                }
            }
        }
예제 #2
0
        public void DoReceaverNotExistsTest()
        {
            IIPCGUID receaverGUID = new IPCReceaverGUID(NonExistentPID);

            using (BaseIPCDispatcher dispatcher = new BaseIPCDispatcher(receaverGUID)) {
                TestAsyncMessage  test      = new TestAsyncMessage(receaverGUID);
                IPCDispatchResult tmpResult = dispatcher.Dispatch(test);
                Assert.IsTrue(tmpResult == IPCDispatchResult.ReceaverNotExists, "Receaver not exists but dispatch result is {0}", tmpResult);
            }
        }
예제 #3
0
        public void DoInvalidMessageTest()
        {
            IIPCGUID receaverGUID = new IPCReceaverGUID();

            using (BaseIPCDispatcher dispatcher = new BaseIPCDispatcher(ReceaverHolder.GlobalApplicationReceaver.ReceaverID)) {
                TestInvalidMessage test      = new TestInvalidMessage(receaverGUID);
                IPCDispatchResult  tmpResult = dispatcher.Dispatch(test);
                Assert.IsTrue(tmpResult == IPCDispatchResult.InvalidMessageClass, "Receaver not exists but dispatch result is {0}", tmpResult);
            }
        }