Exemple #1
0
        public void EightTournamentsInCategory()
        {
            TestGroupVw soccerCategory = new TestGroupVw()
            {
                DisplayName = "soccer category", LineObject = new GroupLn()
                {
                    GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 1
                    }
                }
            };
            SortableObservableCollection <IMatchVw> collection = new SortableObservableCollection <IMatchVw>();

            collection = FillCategoryWithTournaments(soccerCategory, 8);

            ChangeTracker.Setup(x => x.SelectedTournaments).Returns(new HashSet <string>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("Outrights");
            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(collection);

            TopTournamentsViewModel model = new TopTournamentsViewModel();

            model.OnNavigationCompleted();

            //no outrights, without "all tournaments"
            Assert.AreEqual(1, model.Categories.Count);
            Assert.AreEqual("soccer category", model.Categories[0].SportName);
            Assert.AreEqual(8, model.Categories[0].Tournaments.Count);
            Assert.AreEqual("tournament0", model.Categories[0].Tournaments[0].Name);
            Assert.AreEqual("tournament7", model.Categories[0].Tournaments[7].Name);
        }
        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);
        }
Exemple #3
0
        public void DoubleClickOnResultTest()
        {
            ChangeTracker.Setup(x => x.TimeFilters).Returns(new ObservableCollection <ComboBoxItem>());
            ChangeTracker.Setup(x => x.SportFilters).Returns(new ObservableCollection <ComboBoxItemStringId>());
            ChangeTracker.Setup(x => x.SelectedDescriptors).Returns(new List <string>());
            ChangeTracker.Setup(x => x.SelectedTimeFilter).Returns(new ComboBoxItem("0", 0));
            ChangeTracker.Setup(x => x.SelectedSportFilter).Returns(new ComboBoxItemStringId("0", "0"));
            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(new SortableObservableCollection <IMatchVw>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("");
            StationRepository.Setup(x => x.TurnOffCashInInit).Returns(true);
            IoCContainer.Kernel.Unbind <IMediator>();
            IoCContainer.Kernel.Bind <IMediator>().To <IMediator>().InSingletonScope();
            IoCContainer.Kernel.Unbind <IMediator>();
            IoCContainer.Kernel.Bind <IMediator>().To <MyMessageMediator>().InSingletonScope();
            ChangeTracker.Setup(x => x.CurrentUser).Returns(new AnonymousUser("1", 1));
            var model = new HeaderViewModel();

            model.OnNavigationCompleted();
            var result1 = new MatchResultsViewModel();

            result1.OnNavigationCompleted();
            Assert.IsTrue(model.ShowResultFilters);
            result1.Close();
            Assert.IsFalse(model.ShowResultFilters);

            var result2 = new MatchResultsViewModel();

            result2.OnNavigationCompleted();
            Assert.IsTrue(model.ShowResultFilters);
        }
Exemple #4
0
        public void CashHistoryOrderByDescending()
        {
            var historyFiles = new ObservableCollection <HistoryFile>
            {
                new HistoryFile {
                    CashValue = "5", DateValue = new DateTime(2014, 5, 20, 9, 27, 12)
                },
                new HistoryFile {
                    CashValue = "5", DateValue = new DateTime(2014, 5, 20, 9, 27, 11)
                },
                new HistoryFile {
                    CashValue = "5", DateValue = new DateTime(2014, 5, 19, 20, 4, 19)
                },
                new HistoryFile {
                    CashValue = "5", DateValue = new DateTime(2014, 5, 19, 12, 4, 13)
                },
                new HistoryFile {
                    CashValue = "5", DateValue = new DateTime(2014, 5, 19, 12, 3, 48)
                },
                new HistoryFile {
                    CashValue = 0.5m.ToString(CultureInfo.InvariantCulture), DateValue = new DateTime(2014, 5, 19, 0, 3, 55)
                }
            };

            WsdlRepository.Setup(x => x.GetStationCashHistory(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns(new CashOperationtData[]
            {
                new CashOperationtData()
                {
                    amount = 0.5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 19, 0, 3, 55)
                },
                new CashOperationtData()
                {
                    amount = 5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 19, 12, 3, 48)
                },
                new CashOperationtData()
                {
                    amount = 5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 19, 12, 4, 13)
                },
                new CashOperationtData()
                {
                    amount = 5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 19, 20, 4, 19)
                },
                new CashOperationtData()
                {
                    amount = 5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 20, 9, 27, 11)
                },
                new CashOperationtData()
                {
                    amount = 5M, operation_type = "CASH_IN", created_at = new DateTime(2014, 5, 20, 9, 27, 12)
                },
            });

            TranslationProvider.Setup(x => x.Translate(MultistringTags.CASH_HISTORY_NOT_FOUND)).Returns("");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.WEEK)).Returns("");
            var vm = new CashHistoryViewModel();

            CollectionAssert.AreEqual(historyFiles, vm.HistoryFileCollection, new HistoryFileComparer());
        }
Exemple #5
0
        public void TipItems3stake1eurTest()
        {
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("{0}");

            IoCContainer.Kernel.Unbind <IChangeTracker>();
            IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope();
            var ChangeTracker = IoCContainer.Kernel.Get <IChangeTracker>();

            IoCContainer.Kernel.Unbind <ITicketHandler>();
            IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope();
            var TicketHandler = IoCContainer.Kernel.Get <ITicketHandler>();

            StationRepository.Setup(x => x.IsReady).Returns(true);
            StationRepository.Setup(x => x.GetMaxWinSingleBet(It.IsAny <Ticket>())).Returns(500);
            StationRepository.Setup(x => x.GetMaxStakeSingleBet(It.IsAny <Ticket>())).Returns(500);
            TicketHandler.TicketsInBasket.Add(new Ticket());
            TicketHandler.TicketsInBasket.Add(new Ticket());
            TicketHandler.TicketsInBasket.Add(new Ticket());


            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd()
            {
                BetDomain = new TestBetDomain()
                {
                    Match = new TestMatchLn()
                }, Value = { Value = 1 }
            }));
            TicketHandler.TicketsInBasket[1].TipItems.Add(new TipItemVw(new TestOdd()
            {
                BetDomain = new TestBetDomain()
                {
                    Match = new TestMatchLn()
                }, Value = { Value = 1 }
            }));
            TicketHandler.TicketsInBasket[2].TipItems.Add(new TipItemVw(new TestOdd()
            {
                BetDomain = new TestBetDomain()
                {
                    Match = new TestMatchLn()
                }, Value = { Value = 1 }
            }));
            ChangeTracker.CurrentUser = new LoggedInUser(0, "", 100, 10, 10, 10);

            var model = new BaseViewModel();

            TicketHandler.TicketState = TicketStates.Single;
            TicketHandler.TicketsInBasket[0].MaxBet = 500;
            TicketHandler.TicketsInBasket[1].MaxBet = 500;
            TicketHandler.TicketsInBasket[2].MaxBet = 500;

            TicketHandler.OnChangeStake("10", TicketHandler.TicketsInBasket[0], ChangeTracker.CurrentUser.Cashpool);


            Assert.AreEqual(TicketHandler.Stake, 10m);
            Assert.AreEqual(TicketHandler.TicketsInBasket[0].Stake, 10M);
        }
Exemple #6
0
        public void PinmaskedNotShowing()
        {
            MessageMediator.Setup(x => x.Register(It.IsAny <IActionDetails>())).Returns(true);
            MessageMediator.Setup(x => x.SendMessage <string>(MsgTag.ShowKeyboard, MsgTag.ShowKeyboard)).Returns(true);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_FORM_REQUIRED)).Returns("required");
            var model = new LoginViewModel();

            model.OnNavigationCompleted();
            Assert.IsTrue(model.IsFocusedLogin);
            Assert.IsFalse(model.IsFocusedPassword);
            MessageMediator.Verify(x => x.Register(It.IsAny <IActionDetails>()), Times.Exactly(3));;
            MessageMediator.Verify(x => x.SendMessage <string>(MsgTag.ShowKeyboard, MsgTag.ShowKeyboard), Times.Once);
        }
Exemple #7
0
        public void AskCAshpoolDisabledAnonymousBetting()
        {
            IoCContainer.Kernel.Unbind <IMediator>();
            var MessageMediator = new MyMessageMediator();

            IoCContainer.Kernel.Bind <IMediator>().ToConstant <IMediator>(MessageMediator).InSingletonScope();
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_CREDITNOTE_MOVECREDITTOBALANCE_LOGIN)).Returns("move {0}");
            QuestionWindowService.Setup(x => x.ShowMessage(It.IsAny <string>()));
            var model = new MainViewModel();

            MessageMediator.SendMessage <decimal>(20m, MsgTag.AskAboutCashPool);

            QuestionWindowService.Verify(x => x.ShowMessage(It.IsAny <string>()), Times.Never);
        }
Exemple #8
0
        public void LessThan3SymbolsTest()
        {
            var model = new SearchViewModel();

            ChangeTracker.Setup(x => x.SearchMatches).Returns(new SortableObservableCollection <IMatchVw>());
            ChangeTracker.Setup(x => x.SearchString).Returns("2");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_FORM_NO_MATCH_FOUND)).Returns("not found");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_FORM_SEARCH_STRING_TOO_SHORT)).Returns("not found");
            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >()));
            model.PleaseWaitSearch();
            Repository.Verify(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >()), Times.Never);

            TranslationProvider.Verify(x => x.Translate(MultistringTags.TERMINAL_FORM_NO_MATCH_FOUND), Times.Never);
            TranslationProvider.Verify(x => x.Translate(MultistringTags.TERMINAL_FORM_SEARCH_STRING_TOO_SHORT), Times.Once);
        }
        public void PinmaskedNotShowing()
        {
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_PIN_4_SYMBOLS)).Returns("{0}");

            var model       = new EnterPinViewModel();
            var firedEvents = new List <string>();

            model.PropertyChanged += ((sender, e) => firedEvents.Add(e.PropertyName));


            model.Pin.ValueMasked += "1";
            model.Pin.ValueMasked += "1";

            Assert.AreEqual(model.Pin.ValueMasked, "**");
        }
Exemple #10
0
        public void CashHistoryUpdateOnEmptyBox()
        {
            DatabaseManager.EnsureDatabase(false);

            var changeTracker = new ChangeTracker();

            IoCContainer.Kernel.Rebind <IChangeTracker>().ToConstant <IChangeTracker>(changeTracker).InSingletonScope();
            var ChangeTracker = IoCContainer.Kernel.Get <IChangeTracker>();

            ChangeTracker.CurrentUser = new AnonymousUser("", 1);

            IoCContainer.Kernel.Rebind <IQuestionWindowService>().To <QuestionYesMock>().InSingletonScope();

            decimal locationCashPosition, totalStationCash, totalLocationCash, totalLocationPaymentBalance, cashoutCurrentAmount = 0, _cashinCurrentAmount = 0;

            WsdlRepository.Setup(x => x.GetCashInfo(StationRepository.Object.StationNumber, out totalStationCash,
                                                    out locationCashPosition,
                                                    out totalLocationCash, out totalLocationPaymentBalance)).Returns(1);
            decimal  money = 0;
            DateTime last;

            DateTime start;

            WsdlRepository.Setup(x => x.CashOut(null, null, out last, It.IsAny <string>(), out start)).Returns(300);

            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_COLLECT_CASH)).Returns("{0}");

            StationRepository.Setup(x => x.PrinterStatus).Returns(1);
            var vm = new UserManagementViewModel();

            Assert.AreEqual(1, ChangeTracker.TerminalBalance);

            WsdlRepository.Setup(x => x.GetCashInfo(StationRepository.Object.StationNumber, out totalStationCash,
                                                    out locationCashPosition, out totalLocationPaymentBalance,
                                                    out totalLocationCash)).Returns(0);
            WsdlRepository.Setup(x => x.CashOut(null, null, out last, It.IsAny <string>(), out start)).Returns(300);
            vm.CloseBalance.Execute(null);
            vm.askWindow_YesClick(null, null);

            WsdlRepository.Verify(x => x.GetCashInfo(StationRepository.Object.StationNumber, out totalStationCash,
                                                     out locationCashPosition, out totalLocationPaymentBalance,
                                                     out totalLocationCash), Times.Exactly(2));


            Assert.AreEqual(0, ChangeTracker.TerminalBalance);
            DatabaseManager.DropDatabase(false);
        }
Exemple #11
0
        public void ChangeStakeTest()
        {
            IoCContainer.Kernel.Unbind <IMediator>();
            IoCContainer.Kernel.Bind <IMediator>().To <MyMessageMediator>().InSingletonScope();
            IoCContainer.Kernel.Unbind <IChangeTracker>();
            IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope();
            var ChangeTracker = IoCContainer.Kernel.Get <IChangeTracker>();

            IoCContainer.Kernel.Unbind <ITicketHandler>();
            IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope();
            var TicketHandler = IoCContainer.Kernel.Get <ITicketHandler>();

            TicketHandler.TicketsInBasket.Add(new Ticket());
            TranslationProvider.Setup(x => x.Translate(MultistringTags.ADD_XX_TO_STAKE)).Returns("{0}");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_STAKE_EXCEEDED_MAXBET)).Returns("maxbet");


            TipItemVw tiv1 = new TipItemVw(new TestOdd()
            {
                OutcomeId = 1, OddId = { Value = 1 }, BetDomain = new TestBetDomain()
                {
                    BetDomainId = 1, Match = new TestMatchLn()
                    {
                        MatchId = 1
                    }
                }, Value = { Value = 1.85M }
            })
            {
                IsChecked = true
            };

            TicketHandler.TicketsInBasket[0].MaxBet = 5000;
            TicketHandler.TicketsInBasket[0].TipItems.Add(tiv1);
            ChangeTracker.CurrentUser = new LoggedInUser(0, "", 10.20m, 10, 10, 10);

            var model = new BaseViewModel();

            TicketHandler.OnChangeStake("max", TicketHandler.TicketsInBasket[0], ChangeTracker.CurrentUser.Cashpool);
            TicketHandler.OnChangeStake("max", TicketHandler.TicketsInBasket[0], ChangeTracker.CurrentUser.Cashpool);
            TicketHandler.OnChangeStake("max", TicketHandler.TicketsInBasket[0], ChangeTracker.CurrentUser.Cashpool);
            Assert.AreEqual(TicketHandler.TicketsInBasket[0].Stake, 10.20m);
            var resultString = TicketHandler.OnChangeStake("5", TicketHandler.TicketsInBasket[0], 0);

            //Assert.AreEqual(MultistringTags.TERMINAL_STAKE_EXCEEDED_MAXBET, resultString.Item1);
            Assert.AreEqual(TicketHandler.TicketsInBasket[0].MaxBet, 5000.00m);
            Assert.AreEqual(TicketHandler.TicketsInBasket[0].Stake, 10.20m);
        }
        public void SetUp()
        {
            odds    = (decimal)r.NextDouble() * 10 + 1;
            station = r.Next(10000).ToString("0000");
            StationRepository.Object.FranchisorID = r.Next(100);
            StationRepository.Setup(x => x.LocationID).Returns(r.Next(100));

            ways    = 0;
            bankers = 0;

            StationRepository.Setup(x => x.AllowAnonymousBetting).Returns(true);

            // multistrings
            TranslationProvider.Setup(x => x.Translate(MultistringTags.SINGLES)).Returns(Bet.BET_TYPE_SINGLE);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.Multiple)).Returns(Bet.BET_TYPE_COMBI);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.Multiple_and_Ways)).Returns(Bet.BET_TYPE_COMBIPATH);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.Full_Cover)).Returns(Bet.BET_TYPE_SYSTEM);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_PRINT_SYSTEM)).Returns(Bet.BET_TYPE_SYSTEMPATH);
            TranslationProvider.Setup(x => x.Translate(MultistringTags.VERSUS)).Returns("singles");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_TICKETOPEN)).Returns("open");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_FORM_CANCELLED)).Returns("cancelled");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_TICKETWON)).Returns("won");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_TICKETLOST)).Returns("lost");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.terminal_yes)).Returns("Yes");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.terminal_no)).Returns("No");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TRANSFER_TO_CASHPOOL)).Returns("cashpool");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TRANSFER_TO_ACCOUNT)).Returns("account");

            // common ticket details
            ChangeTracker.Setup(x => x.CurrentTicket).Returns(new TicketWS());
            ChangeTracker.Object.CurrentTicket.ticketNbr            = station + r.Next(100000000).ToString("00000000");
            ChangeTracker.Object.CurrentTicket.checkSum             = r.Next(10000).ToString("0000");
            ChangeTracker.Object.CurrentTicket.stake                = r.Next(100) / 10m + 1;
            ChangeTracker.Object.CurrentTicket.franchisorId         = StationRepository.Object.FranchisorID;
            ChangeTracker.Object.CurrentTicket.locationId           = StationRepository.Object.LocationID;
            ChangeTracker.Object.CurrentTicket.wonAmount            = 0;
            ChangeTracker.Object.CurrentTicket.wonExpireTime        = DateTime.Now.AddDays(5);
            ChangeTracker.Object.CurrentTicket.acceptedTime         = System.DateTime.Now;
            ChangeTracker.Object.CurrentTicket.paid                 = false;
            ChangeTracker.Object.CurrentTicket.manipulationFee      = 0;
            ChangeTracker.Object.CurrentTicket.manipulationFeeValue = 0;
            ChangeTracker.Object.CurrentTicket.superBonus           = 1;
            ChangeTracker.Object.CurrentTicket.superBonusValue      = 0;
        }
        public void PrintBarcodeTest()
        {
            StationSettings settings = new StationSettings();

            Kernel.Rebind <IStationSettings>().ToConstant(settings);
            settings.ReadPrefFileData();
            var PrinterHandler = new PrinterHandler();
            var printer        = PrinterHandler.InitPrinter(true);

            TranslationProvider.Setup(x => x.TranslateForPrinter(It.IsAny <MultistringTag>())).Returns("123");
            var str = "123456789012345";

            for (int i = 15; i < 25; i++)
            {
                str = str + i.ToString();
                PrinterHandler.WriteBarcodeCardNumber(str);
            }
            //Thread.Sleep(1000000);
        }
        public void EmptyResponceTest()
        {
            var model = new CreateOperatorViewModel();

            model.OnNavigationCompleted();
            ChangeTracker.Object.CurrentUser = new AnonymousUser("111", 111);
            model.FirstName.Value            = "name";
            model.LastName.Value             = "name";
            model.Username.Value             = "name";
            model.Password.Value             = "name";
            model.ConfirmPassword.Value      = "name";
            model.OperatorType.Value         = "1";
            WsdlRepository.Setup(x => x.RegisterOperator(It.IsAny <uid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>())).Returns(0);
            //TranslationProvider.Expect(x => x.Translate(MultistringTags.TERMINAL_FORM_DONE)).Return("done");
            TranslationProvider.Setup(x => x.Translate(MultistringTags.TERMINAL_FORM_DONE)).Returns("done");
            model.RegisterCommand.Execute(null);
            Assert.IsTrue(model.IsEnabledRegister);
            Assert.IsFalse(model.IsEnabledBindCard);
            TranslationProvider.Verify(x => x.Translate(MultistringTags.TERMINAL_FORM_DONE), Times.Never);
        }
Exemple #15
0
        public void CetagoriesWithOnlyOutrights()
        {
            SortableObservableCollection <IMatchVw> collection = new SortableObservableCollection <IMatchVw>();
            TestGroupVw soccerCategory = new TestGroupVw()
            {
                DisplayName = "soccer category", LineObject = new GroupLn()
                {
                    GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 1
                    }
                }
            };

            ChangeTracker.Setup(x => x.SelectedTournaments).Returns(new HashSet <string>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("Outrights");
            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(collection);

            //add outright tournament to category
            collection.Add(new TestMatchVw()
            {
                SportDescriptor = "SPRT_SOCCER",
                DefaultSorting  = 1,
                IsLiveBet       = false,
                IsOutright      = true,
                LiveBetStatus   = eMatchStatus.NotStarted,
                Name            = "outright1",
                SportView       = new TestGroupVw()
                {
                    DisplayName = "soccer", LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                CategoryView   = soccerCategory,
                StartDate      = new DateTime(2015, 1, 2),
                TournamentView = new TestGroupVw()
                {
                    DisplayName         = "outright1",
                    TournamentSportView = new TestGroupVw()
                    {
                        DisplayName = "lasttournament", LineObject = new GroupLn()
                        {
                            GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                            {
                                Value = 1
                            }
                        }
                    },
                    LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                ExpiryDate = DateTime.Now.AddDays(1000)
            });

            TopTournamentsViewModel model = new TopTournamentsViewModel();

            model.OnNavigationCompleted();

            //we do not show categories with outrights only
            Assert.AreEqual(0, model.Categories.Count);
        }
        public void MultyTicketWsAndPrintTest()
        {
            IoCContainer.Kernel.Unbind <IConfidenceFactor>();
            IoCContainer.Kernel.Bind <IConfidenceFactor>().ToConstant <IConfidenceFactor>(ConfidenceFactor.Object).InSingletonScope();
            ConfidenceFactor.Setup(x => x.CalculateFactor(It.IsAny <Ticket>())).Returns(1000000);

            IoCContainer.Kernel.Unbind <IStationRepository>();
            IoCContainer.Kernel.Unbind <IChangeTracker>();
            IoCContainer.Kernel.Bind <IChangeTracker>().To <ChangeTracker>().InSingletonScope();
            var ChangeTracker = IoCContainer.Kernel.Get <IChangeTracker>();

            IoCContainer.Kernel.Unbind <ITicketHandler>();
            IoCContainer.Kernel.Bind <ITicketHandler>().To <TicketHandler>().InSingletonScope();
            var TicketHandler = IoCContainer.Kernel.Get <ITicketHandler>();

            BusinessPropsHelper.Setup(x => x.GetNextTransactionId()).Returns("123");

            IoCContainer.Kernel.Unbind <IDataBinding>();
            var DataBinding = new DataBinding();

            IoCContainer.Kernel.Bind <IDataBinding>().ToConstant <IDataBinding>(DataBinding).InSingletonScope();

            var stationRepository = new StationRepository();

            IoCContainer.Kernel.Bind <IStationRepository>().ToConstant <IStationRepository>(stationRepository).InSingletonScope();
            stationRepository.MaxOdd            = 1000;
            stationRepository.MaxCombination    = 1000;
            stationRepository.MaxStakeSystemBet = 1000;
            stationRepository.MaxStakeCombi     = 1000;
            stationRepository.MaxSystemBet      = 1000;
            stationRepository.MaxWinSystemBet   = 10000;
            stationRepository.IsReady           = true;
            stationRepository.BonusFromOdd      = 3.0m;
            long[] tipLock;
            long[] tournamentlock;
            WsdlRepository.Setup(x => x.SaveTicket(It.IsAny <string>(), It.IsAny <uid>(), It.IsAny <TicketWS>(), It.IsAny <bool>(), It.IsAny <string>(), out tipLock, out tournamentlock)).Returns("1");

            TicketHandler.TicketsInBasket.Add(new Ticket());

            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd {
                OutcomeId = 1, OddId = { Value = 1 }, OddView = new TestOddVw()
                {
                    Value = 1
                }, BetDomain = new TestBetDomain {
                    BetDomainNumber = new ObservableProperty <int>(new BetDomainLn(), new ObservablePropertyList(), "test"), BetDomainId = 1, Match = new TestMatchLn {
                        MatchId = 1, Code = { Value = 1 }, MatchView = new TestMatchVw {
                            LineObject = new MatchLn()
                        }
                    }
                }, Value = { Value = 2.80M }
            }));
            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd {
                OutcomeId = 2, OddId = { Value = 2 }, OddView = new TestOddVw()
                {
                    Value = 2
                }, BetDomain = new TestBetDomain {
                    BetDomainNumber = new ObservableProperty <int>(new BetDomainLn(), new ObservablePropertyList(), "test"), BetDomainId = 2, Match = new TestMatchLn {
                        MatchId = 2, Code = { Value = 2 }, MatchView = new TestMatchVw {
                            LineObject = new MatchLn()
                        }
                    }
                }, Value = { Value = 2.10M }
            }));
            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd {
                OutcomeId = 3, OddId = { Value = 3 }, OddView = new TestOddVw()
                {
                    Value = 3
                }, BetDomain = new TestBetDomain {
                    BetDomainNumber = new ObservableProperty <int>(new BetDomainLn(), new ObservablePropertyList(), "test"), BetDomainId = 3, Match = new TestMatchLn {
                        MatchId = 3, Code = { Value = 3 }, MatchView = new TestMatchVw {
                            LineObject = new MatchLn()
                        }
                    }
                }, Value = { Value = 3.30M }
            }));
            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd {
                OutcomeId = 4, OddId = { Value = 4 }, OddView = new TestOddVw()
                {
                    Value = 4
                }, BetDomain = new TestBetDomain {
                    BetDomainNumber = new ObservableProperty <int>(new BetDomainLn(), new ObservablePropertyList(), "test"), BetDomainId = 4, Match = new TestMatchLn {
                        MatchId = 4, Code = { Value = 4 }, MatchView = new TestMatchVw {
                            LineObject = new MatchLn()
                        }
                    }
                }, Value = { Value = 2.70M }
            }));
            TicketHandler.TicketsInBasket[0].TipItems.Add(new TipItemVw(new TestOdd {
                OutcomeId = 5, OddId = { Value = 5 }, OddView = new TestOddVw()
                {
                    Value = 5
                }, BetDomain = new TestBetDomain {
                    BetDomainNumber = new ObservableProperty <int>(new BetDomainLn(), new ObservablePropertyList(), "test"), BetDomainId = 5, Match = new TestMatchLn {
                        MatchId = 5, Code = { Value = 5 }, MatchView = new TestMatchVw {
                            LineObject = new MatchLn()
                        }
                    }
                }, Value = { Value = 3.10M }
            }));


            TicketHandler.TicketsInBasket[0].Stake = 10;
            stationRepository.BonusRangeList.Add(new BonusRangeWS {
                tipSize = 1, bonus = 5
            });
            stationRepository.BonusRangeList.Add(new BonusRangeWS {
                tipSize = 2, bonus = 10
            });

            ChangeTracker.CurrentUser = new LoggedInUser(0, "", 100, 10, 10, 10);

            TicketHandler.TicketState = TicketStates.Multy;

            TicketHandler.TicketsInBasket[0].Stake = 10;


            TicketHandler.UpdateTicket();

            Assert.AreEqual(10m, TicketHandler.Stake);
            Assert.AreEqual(1786.52628000000m, TicketHandler.CurrentTicketPossibleWin);
            Assert.AreEqual(10m, TicketHandler.BonusPercentage);
            Assert.AreEqual(162.41148000000m, TicketHandler.BonusValue);

            var      ticketActions = new TicketActions();
            TicketWS ticket        = ticketActions.CreateNewTicketWS(TicketHandler.TicketsInBasket[0]);

            ticketActions.SaveTicket(ref ticket, ChangeTracker.CurrentUser);
            Assert.AreEqual(5, ticket.bets[0].bankTips.Length);
            Assert.AreEqual(10m, ticket.stake);
            Assert.AreEqual(1.1m, ticket.superBonus);
            stationRepository.UsePrinter = true;
            Repository.Expect(x => x.GetOddBySvrId(It.IsAny <long>())).Returns(new OddVw(new OddLn {
                NameTag = { Value = "test" }
            }));
            TranslationProvider.Object.PrintingLanguage = "EN";
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("{0}");
            PrinterHandler printerHandler = new PrinterHandler();
            var            xml            = printerHandler.CreateTicketXmlForPrinting(ticket, false, null);
            var            stringxml      = xml.ToString();

            if (CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator == ".")
            {
                Assert.IsTrue(stringxml.Contains("162.4"));
            }
            if (CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator == ",")
            {
                Assert.IsTrue(stringxml.Contains("162,4"));
            }
        }
Exemple #17
0
        public void FillPlentyTournamentsWithOutrights()
        {
            ChangeTracker.Setup(x => x.SelectedTournaments).Returns(new HashSet <string>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("Outrights");

            SortableObservableCollection <IMatchVw> collection = new SortableObservableCollection <IMatchVw>();

            TestGroupVw soccerCategory = new TestGroupVw()
            {
                DisplayName = "soccer category", LineObject = new GroupLn()
                {
                    GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 1
                    }
                }
            };

            //get category with more tournaments that fits into it
            collection = FillCategoryWithTournaments(soccerCategory, 9);

            //add outright tournament to category
            collection.Add(new TestMatchVw()
            {
                SportDescriptor = "SPRT_SOCCER",
                DefaultSorting  = 1,
                IsLiveBet       = false,
                IsOutright      = true,
                LiveBetStatus   = eMatchStatus.NotStarted,
                Name            = "outright1",
                SportView       = new TestGroupVw()
                {
                    DisplayName = "soccer", LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                CategoryView   = soccerCategory,
                StartDate      = new DateTime(2015, 1, 2),
                TournamentView = new TestGroupVw()
                {
                    DisplayName         = "outright1",
                    TournamentSportView = new TestGroupVw()
                    {
                        DisplayName = "lasttournament", LineObject = new GroupLn()
                        {
                            GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                            {
                                Value = 1
                            }
                        }
                    },
                    LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                ExpiryDate = DateTime.Now.AddDays(1000)
            });

            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(collection);
            TopTournamentsViewModel model = new TopTournamentsViewModel();

            model.OnNavigationCompleted();

            //no outrights, with "all tournaments"
            Assert.AreEqual(1, model.Categories.Count);
            Assert.AreEqual("soccer category", model.Categories[0].SportName);
            Assert.AreEqual(8, model.Categories[0].Tournaments.Count);
            Assert.AreEqual("tournament0", model.Categories[0].Tournaments[0].Name);
            Assert.AreEqual("tournament6", model.Categories[0].Tournaments[6].Name);
            Assert.AreEqual("All tournaments", model.Categories[0].Tournaments[7].Name);
        }
Exemple #18
0
        public void FillSeveralCategories()
        {
            TestGroupVw soccerCategory = new TestGroupVw()
            {
                DisplayName = "soccer category", LineObject = new GroupLn()
                {
                    GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 1
                    }
                }
            };
            TestGroupVw hockeyCategory = new TestGroupVw()
            {
                DisplayName = "hockey category", LineObject = new GroupLn()
                {
                    GroupId = 3, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 3
                    }
                }
            };
            TestGroupVw someCategory = new TestGroupVw()
            {
                DisplayName = "some category", LineObject = new GroupLn()
                {
                    GroupId = 2, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                    {
                        Value = 2
                    }
                }
            };

            SortableObservableCollection <IMatchVw> collection = new SortableObservableCollection <IMatchVw>();

            collection = FillCategoryWithTournaments(soccerCategory, 8);

            SortableObservableCollection <IMatchVw> collection2 = FillCategoryWithTournaments(hockeyCategory, 15);
            SortableObservableCollection <IMatchVw> collection3 = FillCategoryWithTournaments(someCategory, 2);

            foreach (IMatchVw m in collection2)
            {
                collection.Add(m);
            }

            foreach (IMatchVw m in collection3)
            {
                collection.Add(m);
            }

            ChangeTracker.Setup(x => x.SelectedTournaments).Returns(new HashSet <string>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("Outrights");
            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(collection);

            TopTournamentsViewModel model = new TopTournamentsViewModel();

            model.OnNavigationCompleted();

            Assert.AreEqual(3, model.Categories.Count);
            Assert.AreEqual("soccer category", model.Categories[0].SportName);
            Assert.AreEqual("hockey category", model.Categories[2].SportName);
            Assert.AreEqual("some category", model.Categories[1].SportName);
            Assert.AreEqual(8, model.Categories[0].Tournaments.Count);
            Assert.AreEqual(8, model.Categories[2].Tournaments.Count);
            Assert.AreEqual(2, model.Categories[1].Tournaments.Count);
            Assert.AreEqual("tournament0", model.Categories[0].Tournaments[0].Name);
            Assert.AreEqual("tournament7", model.Categories[0].Tournaments[7].Name);
            Assert.AreEqual("All tournaments", model.Categories[2].Tournaments[7].Name);
            Assert.AreEqual("tournament0", model.Categories[0].Tournaments[0].Name);
            Assert.AreEqual("tournament1", model.Categories[0].Tournaments[1].Name);
        }
Exemple #19
0
        public void FillTopTournamentsTest()
        {
            ChangeTracker.Setup(x => x.SelectedTournaments).Returns(new HashSet <string>());
            TranslationProvider.Setup(x => x.Translate(It.IsAny <MultistringTag>())).Returns("Outrights");

            SortableObservableCollection <IMatchVw> collection = new SortableObservableCollection <IMatchVw>();

            //fill up collection
            collection.Add(new TestMatchVw()
            {
                SportDescriptor   = "SPRT_SOCCER",
                DefaultSorting    = 1,
                IsLiveBet         = false,
                LiveBetStatus     = eMatchStatus.NotStarted,
                LiveMatchMinuteEx = 1,
                LivePeriodInfo    = eLivePeriodInfo.Basketball_4th_Quarter,
                Name      = "test1",
                SportView = new TestGroupVw()
                {
                    DisplayName = "soccer", LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                CategoryView = new TestGroupVw()
                {
                    DisplayName = "soccer category", LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                StartDate      = new DateTime(2013, 1, 2),
                TournamentView = new TestGroupVw()
                {
                    DisplayName         = "tournament1",
                    TournamentSportView = new TestGroupVw()
                    {
                        DisplayName = "soccer", LineObject = new GroupLn()
                        {
                            GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                            {
                                Value = 1
                            }
                        }
                    },
                    LineObject = new GroupLn()
                    {
                        GroupId = 1, Sort = new ObservableProperty <int>(new GroupLn(), new ObservablePropertyList(), "test")
                        {
                            Value = 1
                        }
                    }
                },
                ExpiryDate = DateTime.Now.AddDays(1)
            });

            Repository.Setup(x => x.FindMatches(It.IsAny <SortableObservableCollection <IMatchVw> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <LineSr.DelegateFilterMatches>(), It.IsAny <Comparison <IMatchVw> >())).Returns(collection);
            TopTournamentsViewModel model = new TopTournamentsViewModel();

            model.OnNavigationCompleted();

            //no outrights, no "all tournaments"
            Assert.AreEqual(1, model.Categories.Count);
            Assert.AreEqual("soccer category", model.Categories[0].SportName);
            Assert.AreEqual(1, model.Categories[0].Tournaments.Count);
            Assert.AreEqual("tournament1", model.Categories[0].Tournaments[0].Name);
            Assert.AreEqual(1, model.Categories[0].Tournaments[0].MatchesCount);
        }