public void TicketDetailsView_SingleOpen()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            ChangeTracker.Object.CurrentTicket.calculated = false;
            ChangeTracker.Object.CurrentTicket.bets       = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SINGLE
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[1] {
                new TipWS()
                {
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 1;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = true;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_WonExpired()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_TICKETEXPIRED)).Returns("expired");
            ChangeTracker.Object.CurrentTicket.calculated = true;
            ChangeTracker.Object.CurrentTicket.won        = true;
            ChangeTracker.Object.CurrentTicket.bets       = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SINGLE
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[1] {
                new TipWS()
                {
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 1;
            ChangeTracker.Object.CurrentTicket.wonAmount             = ChangeTracker.Object.CurrentTicket.stake * odds;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = true;
            ChangeTracker.Object.CurrentTicket.wonExpired            = true;
            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_WonLogged()
        {
            ChangeTracker.Object.CurrentTicket.calculated = true;
            ChangeTracker.Object.CurrentTicket.won        = true;
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new LoggedInUser(1, "211", 100, 10, 10, 10));
            ChangeTracker.Object.CurrentTicket.bets = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SINGLE
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[1] {
                new TipWS()
                {
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 1;
            ChangeTracker.Object.CurrentTicket.wonAmount             = ChangeTracker.Object.CurrentTicket.stake * odds;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = false;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_MultiFee()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            ChangeTracker.Object.CurrentTicket.calculated = true;
            ChangeTracker.Object.CurrentTicket.won        = false;
            ChangeTracker.Object.CurrentTicket.bets       = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_COMBI
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[] { new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                } };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 1;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = true;
            ChangeTracker.Object.CurrentTicket.manipulationFee       = 0.1m;
            ChangeTracker.Object.CurrentTicket.manipulationFeeValue  = ChangeTracker.Object.CurrentTicket.stake * ChangeTracker.Object.CurrentTicket.manipulationFee;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_SingleOpenStakeperRow()
        {
            raisedProperties.Clear();
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            ChangeTracker.Object.CurrentTicket.calculated = false;
            ChangeTracker.Object.CurrentTicket.bets       = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SINGLE
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[1] {
                new TipWS()
                {
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 1;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = true;

            var model = new TicketDetailsViewModel();

            model.PropertyChanged += model_PropertyChanged;
            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
            Assert.IsTrue(raisedProperties.Contains("StakePerRow"));
        }
        public void TicketDetailsView_SystemWays()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 100));
            ways = 2;
            ChangeTracker.Object.CurrentTicket.bets = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SYSTEMPATH
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[] { new TipWS()
                                                                                     {
                                                                                     }, new TipWS()
                                                                                     {
                                                                                     }, new TipWS()
                                                                                     {
                                                                                     }, new TipWS()
                                                                                     {
                                                                                     } };
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].bankGroupID  = 1;
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].bankGroupID  = 1;
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[2].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[2].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[2].bankGroupID  = 2;
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[3].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[3].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[3].bankGroupID = 2;

            ChangeTracker.Object.CurrentTicket.bets[0].systemX  = 2;
            ChangeTracker.Object.CurrentTicket.bets[0].systemY  = 4;
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[] { new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                } };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[2].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[2].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[3].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[3].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].rows = 24;
            ChangeTracker.Object.CurrentTicket.isAnonymous  = true;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_MultiWays()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            ways = 1;
            ChangeTracker.Object.CurrentTicket.calculated    = true;
            ChangeTracker.Object.CurrentTicket.won           = true;
            ChangeTracker.Object.CurrentTicket.wonExpireTime = DateTime.Now.AddSeconds(-1);
            ChangeTracker.Object.CurrentTicket.bets          = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_COMBIPATH
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[] { new TipWS()
                                                                                     {
                                                                                     }, new TipWS()
                                                                                     {
                                                                                     } };
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[0].bankGroupID  = 1;
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti[1].bankGroupID = 1;

            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[] { new TipWS()
                                                                                {
                                                                                } };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].rows         = 2;
            ChangeTracker.Object.CurrentTicket.isAnonymous          = true;
            ChangeTracker.Object.CurrentTicket.superBonus           = 1.1m;
            ChangeTracker.Object.CurrentTicket.superBonusValue      = ChangeTracker.Object.CurrentTicket.stake * odds * ChangeTracker.Object.CurrentTicket.superBonus;
            ChangeTracker.Object.CurrentTicket.manipulationFee      = 0.1m;
            ChangeTracker.Object.CurrentTicket.manipulationFeeValue = ChangeTracker.Object.CurrentTicket.stake * ChangeTracker.Object.CurrentTicket.manipulationFee;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }
        public void TicketDetailsView_SystemBonus()
        {
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("211", 211));
            ChangeTracker.Object.CurrentTicket.cancelled = false;
            ChangeTracker.Object.CurrentTicket.bets      = new BetWS[1] {
                new BetWS()
                {
                    betType = Bet.BET_TYPE_SYSTEM
                }
            };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips = new TipWS[] { new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                }, new TipWS()
                                                                                {
                                                                                } };
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[0].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[1].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[2].tipDetailsWS = new TipDetailsWS();
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips[2].tipDetailsWS.betDomainName = "{0}sdg";
            ChangeTracker.Object.CurrentTicket.bets[0].tips2BetMulti = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].systemX       = 2;
            ChangeTracker.Object.CurrentTicket.bets[0].systemY       = 3;
            ChangeTracker.Object.CurrentTicket.bets[0].bankTips      = new TipWS[0];
            ChangeTracker.Object.CurrentTicket.bets[0].rows          = 3;
            ChangeTracker.Object.CurrentTicket.isAnonymous           = true;
            ChangeTracker.Object.CurrentTicket.superBonus            = 1.1m;
            ChangeTracker.Object.CurrentTicket.superBonusValue       = ChangeTracker.Object.CurrentTicket.stake * odds * ChangeTracker.Object.CurrentTicket.superBonus;

            var model = new TicketDetailsViewModel();

            model.OnNavigationCompleted();
            ValidateTicketDetailsView(model);
        }