示例#1
0
        private void Submit_Click(object sender, RoutedEventArgs e)
        {
            //registering
            if (register.IsChecked.Value)
            {
                var PRC = new CreatePortfolioRequestConversation(Config.GetClientProcessNumber());
                PRC.SetInitialState(new CreatePortfolioRequestState(user.Text, pass.Password, confirm.Password, this, PRC, null));
                ConversationManager.AddConversation(PRC);
            }

            //logging in
            else
            {
                var loginConv = new GetPortfolioRequestConversation(Config.GetClientProcessNumber());
                loginConv.SetInitialState(new GetPortfolioRequestState(user.Text, pass.Password, this, loginConv));
                ConversationManager.AddConversation(loginConv);
            }
        }
示例#2
0
        public void RequestSucceed()
        {
            int processIdId = 42;
            var username    = "******";
            var password    = "******";

            var conv = new CreatePortfolioRequestConversation(processIdId);

            //setup response message and mock
            var mock = new Mock <CreatePortfolioRequestState>(username, password, password, null, conv, null)
            {
                CallBase = true
            };

            mock.Setup(st => st.Send())//Pretend message is sent and response comes back...
            .Callback(() => {
                var responseMessage = new PortfolioUpdateMessage()
                {
                    ConversationID = conv.Id, MessageID = "responseMessageID1234"
                };
                var responseEnv = new Envelope(responseMessage);
                ConversationManager.ProcessIncomingMessage(responseEnv);
            }).CallBase().Verifiable();

            //execute test
            conv.SetInitialState(mock.Object as CreatePortfolioRequestState);

            Assert.IsTrue(conv.CurrentState is CreatePortfolioRequestState);
            mock.Verify(state => state.Prepare(), Times.Never);
            mock.Verify(state => state.Send(), Times.Never);

            ConversationManager.AddConversation(conv);

            Assert.IsFalse(conv.CurrentState is CreatePortfolioRequestState);
            Assert.IsTrue(conv.CurrentState is ConversationDoneState);
            mock.Verify(state => state.Prepare(), Times.Once);
            mock.Verify(state => state.Send(), Times.Once);
        }