예제 #1
0
        public void TestClickItemSuccess()
        {
            var propData = new Mock <IPropertyData>(MockBehavior.Strict);

            propData.Setup(p => p.WaitForElementCondition(WaitConditions.NotMoving, null)).Returns(true);
            propData.Setup(p => p.WaitForElementCondition(WaitConditions.BecomesEnabled, null)).Returns(true);
            propData.Setup(p => p.ClickElement());

            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetElement("myproperty")).Returns(propData.Object);

            var buttonClickAction = new ButtonClickAction
            {
                ElementLocator = locator.Object
            };

            var context = new ActionContext("myproperty");
            var result  = buttonClickAction.Execute(context);

            Assert.AreEqual(true, result.Success);

            locator.VerifyAll();
            propData.VerifyAll();
        }
예제 #2
0
        public void TestClickItemWhenWaitIsEnabledReturnsSuccess()
        {
            var propData = new Mock <IPropertyData>(MockBehavior.Strict);

            propData.Setup(p => p.ClickElement());

            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetElement("myproperty")).Returns(propData.Object);

            ButtonClickAction.WaitForStillElementBeforeClicking = false;

            var buttonClickAction = new ButtonClickAction
            {
                ElementLocator = locator.Object
            };

            var context = new ActionContext("myproperty");
            var result  = buttonClickAction.Execute(context);

            Assert.AreEqual(true, result.Success);

            locator.VerifyAll();
            propData.VerifyAll();
        }
예제 #3
0
        public override IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
        {
            switch (button.ButtonName)
            {
            //zahajenie vydaja
            case SetServingLayout.Buttons.StartBtn:
                return(new Serving(_app));

            //prechod medzi obrazovkami
            case SetServingLayout.Buttons.PrevBtn:
                if (_selected != 0)
                {
                    _selected--;
                }
                break;

            case SetServingLayout.Buttons.NextBtn:
                if (_selected < _menu.Count - 1)
                {
                    _selected++;
                }
                break;

            default:
                return(base.ProcessButtonClickAction(button, ref forceCallStateMethod));
            }
            forceCallStateMethod = true;
            return(this);
        }
예제 #4
0
        protected void ButtonClick(object sender, EventArgs e)
        {
            var senderView = sender as View;
            var position   = (int)senderView.GetTag(Resource.Id.Object_Position);
            var viewModel  = Items[position];

            senderView.Enabled = false;

            ButtonClickAction?.Invoke(viewModel, position, () => senderView.Enabled = true);
        }
예제 #5
0
        public override IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
        {
            // obsluha stlacenia tlacidla
            switch (button.ButtonName)
            {
            case HistoryLayout.Buttons.RemoveBtn:
                _app.ServiceDevice.SendMessage(new Message(
                                                   new List <IAction> {
                    new ModalWindowShowAction("Určite si prajete vrátiť výdaj?", new ModalWindowButton[2] {
                        new ModalWindowButton()
                        {
                            BtnId = "a", BtnText = "Ano"
                        }, new ModalWindowButton()
                        {
                            BtnId = "a", BtnText = "Nie"
                        }
                    })
                }.ToArray()
                                                   ));
                break;

            case HistoryLayout.Buttons.BackBtn:
                return(new Serving(_app));

            case HistoryLayout.Buttons.PrevBtn:
                if (_selected != 0)
                {
                    _selected--;
                }
                break;

            case HistoryLayout.Buttons.NextBtn:
                if (_selected < _orders.Count - 1)
                {
                    _selected++;
                }
                break;

            case "a":
                _app.ServiceDevice.SendMessage(new Message(
                                                   new List <IAction> {
                    new ModalWindowCloseAction()
                }.ToArray()
                                                   ));
                break;

            default:
                return(base.ProcessButtonClickAction(button, ref forceCallStateMethod));
            }
            forceCallStateMethod = true;
            return(this);
        }
예제 #6
0
        public override IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
        {
            // prechody na zaklade stlaceneho tlacidla
            switch (button.ButtonName)
            {
            case ServingLayout.Buttons.StopBtn:
                return(new SetServing(_app));

            case ServingLayout.Buttons.ShowServedBtn:
                return(new History(_app));
            }
            return(base.ProcessButtonClickAction(button, ref forceCallStateMethod));
        }
예제 #7
0
        public void TestClickItemFieldDoesNotExist()
        {
            var locator = new Mock <IElementLocator>(MockBehavior.Strict);

            locator.Setup(p => p.GetElement("doesnotexist")).Throws(new ElementExecuteException("Cannot find item"));

            var buttonClickAction = new ButtonClickAction
            {
                ElementLocator = locator.Object
            };

            var context = new ActionContext("doesnotexist");

            ExceptionHelper.SetupForException <ElementExecuteException>(
                () => buttonClickAction.Execute(context), e => locator.VerifyAll());
        }
예제 #8
0
        public TouchButton()
        {
            Visible       = true;
            VisibleWindow = false;

            render          = new TouchText();
            buttonColor     = "pri";
            unmodifiedColor = "pri";
            text            = "";
            textColor       = "black";
            HeightRequest   = 45;
            WidthRequest    = 45;
            textAlignment   = TouchAlignment.Center;
            clickAction     = ButtonClickAction.Darken;

            ExposeEvent        += OnExpose;
            ButtonPressEvent   += OnTouchButtonPress;
            ButtonReleaseEvent += OnTouchButtonRelease;
        }
예제 #9
0
        public override IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
        {
            if (button.ButtonName.Contains("menu_"))
            {
                _selected = int.Parse(button.ButtonName.Last().ToString()) + _pageNum * _app.OrdersLayout.MEALS_PER_PAGE;
            }
            else
            {
                switch (button.ButtonName)
                {
                case "prevDay":
                    SetDateToOrder(_dateToOrder.AddDays(-1));
                    break;

                case "nextDay":
                    SetDateToOrder(_dateToOrder.AddDays(1));
                    break;

                case "up":
                    if (IsPrevPageEnabled())
                    {
                        _pageNum--;
                    }
                    break;

                case "down":
                    if (IsNextPageEnabled())
                    {
                        _pageNum++;
                    }
                    break;

                default:
                    return(base.ProcessButtonClickAction(button, ref forceCallStateMethod));
                }
                _selected = null;
            }
            _reset = false;
            forceCallStateMethod = true;
            return(this);
        }
예제 #10
0
        public void TestGetActionName()
        {
            var buttonClickAction = new ButtonClickAction();

            Assert.AreEqual("ButtonClickAction", buttonClickAction.Name);
        }
예제 #11
0
 // funkcie ktorych chovanie by mala prepisat trieda ktora od tejto dedi
 public virtual IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
 {
     Console.WriteLine($"{_service.GetType()} - No Response to button");
     return(this);
 }
예제 #12
0
 public override IStateBase ProcessButtonClickAction(ButtonClickAction button, ref bool forceCallStateMethod)
 {
     _layout = _app.CardScannedLayout;
     return(this);
 }