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); }
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); }
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()); }
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); }
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); }
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); }
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, "**"); }
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); }
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); }
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")); } }
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); }
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); }
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); }