public void Get_Exacta_Dividend_Test()
        {
            // Add Win Exacta Bets
            BlAccessor.ProcessBetInput("E:1,2:13");
            BlAccessor.ProcessBetInput("E:2,3:98");
            BlAccessor.ProcessBetInput("E:1,3:82");
            BlAccessor.ProcessBetInput("E:3,2:27");
            BlAccessor.ProcessBetInput("E:1,2:5");
            BlAccessor.ProcessBetInput("E:2,3:61");
            BlAccessor.ProcessBetInput("E:1,3:28");
            BlAccessor.ProcessBetInput("E:3,2:25");
            BlAccessor.ProcessBetInput("E:1,2:81");
            BlAccessor.ProcessBetInput("E:2,3:47");
            BlAccessor.ProcessBetInput("E:1,3:93");
            BlAccessor.ProcessBetInput("E:3,2:51");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var bettingProduct = BlAccessor.GetProduct(ExactaCode);

            Assert.IsNotNull(bettingProduct);
            var dividend = bettingProduct.GetDividend();

            Assert.IsTrue(dividend.Count == 2);
            Assert.IsTrue(dividend.ContainsKey(2));
            Assert.IsTrue(dividend.ContainsKey(3));
        }
        public void GetDividend_Without_Result_Initialize_Test()
        {
            string inputValue = "W:1:3";

            BlAccessor.ProcessBetInput(inputValue);
            var bettingProduct = BlAccessor.GetProduct(WinCode);
            var dividend       = bettingProduct.GetDividend();

            Assert.IsNotNull(bettingProduct);
            Assert.IsTrue(BlAccessor.ProcessBetInput(inputValue, true));

            inputValue = "p:1:3";
            BlAccessor.ProcessBetInput(inputValue);
            bettingProduct = BlAccessor.GetProduct(PlaceCode);
            dividend       = bettingProduct.GetDividend();
            Assert.IsNotNull(bettingProduct);

            inputValue = "e:1,2:3";
            BlAccessor.ProcessBetInput(inputValue);
            bettingProduct = BlAccessor.GetProduct(ExactaCode);
            dividend       = bettingProduct.GetDividend();
            Assert.IsNotNull(bettingProduct);

            inputValue = "q:1,2:3";
            BlAccessor.ProcessBetInput(inputValue);
            bettingProduct = BlAccessor.GetProduct(QuinellaCode);
            dividend       = bettingProduct.GetDividend();
            Assert.IsNotNull(bettingProduct);
        }
        public void Get_Place_Dividend_Test()
        {
            // Add Place Bets
            BlAccessor.ProcessBetInput("P:1:31");
            BlAccessor.ProcessBetInput("P:2:89");
            BlAccessor.ProcessBetInput("P:3:28");
            BlAccessor.ProcessBetInput("P:4:72");
            BlAccessor.ProcessBetInput("P:1:40");
            BlAccessor.ProcessBetInput("P:2:16");
            BlAccessor.ProcessBetInput("P:3:82");
            BlAccessor.ProcessBetInput("P:4:52");
            BlAccessor.ProcessBetInput("P:1:18");
            BlAccessor.ProcessBetInput("P:2:74");
            BlAccessor.ProcessBetInput("P:3:39");
            BlAccessor.ProcessBetInput("P:4:105");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var bettingProduct = BlAccessor.GetProduct(PlaceCode);

            Assert.IsNotNull(bettingProduct);
            var dividend = bettingProduct.GetDividend();

            Assert.IsTrue(dividend.Count == 3);
            Assert.IsTrue(dividend.ContainsKey(2));
            Assert.IsTrue(dividend.ContainsKey(3));
            Assert.IsTrue(dividend.ContainsKey(1));
        }
        public void Get_Win_Dividend_Test()
        {
            // Add Win Bets
            BlAccessor.ProcessBetInput("W:1:3");
            BlAccessor.ProcessBetInput("W:2:4");
            BlAccessor.ProcessBetInput("W:3:5");
            BlAccessor.ProcessBetInput("W:4:5");
            BlAccessor.ProcessBetInput("W:1:16");
            BlAccessor.ProcessBetInput("W:2:8");
            BlAccessor.ProcessBetInput("W:3:22");
            BlAccessor.ProcessBetInput("W:4:57");
            BlAccessor.ProcessBetInput("W:1:42");
            BlAccessor.ProcessBetInput("W:2:98");
            BlAccessor.ProcessBetInput("W:3:63");
            BlAccessor.ProcessBetInput("W:4:15");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var bettingProduct = BlAccessor.GetProduct(WinCode);

            Assert.IsNotNull(bettingProduct);
            var dividend = bettingProduct.GetDividend();

            Assert.IsTrue(dividend.Count == 1);
            Assert.IsTrue(dividend.ContainsKey(2));
        }
Exemple #5
0
        /// <summary>
        /// Send the user input to BL for processing
        /// </summary>
        /// <param name="userChoice"></param>
        /// <param name="userInputValue"></param>
        private static void ProcessUserInput(char userChoice, string userInputValue)
        {
            bool processResult = true;

            switch (userChoice)
            {
            case MenuChoiceBet:
                processResult = BlAccessor.ProcessBetInput(userInputValue);
                break;

            case MenuChoiceResult:
                processResult = BlAccessor.ProcessResultInput(userInputValue);
                break;

            case MenuChoiceDisplay:
                ProcessDividendOutput();
                break;

            case MenuChoiceReset:
                BlAccessor.ResetGlobals();
                break;

            case MenuChoiceExit:
                break;
            }

            if (!processResult)
            {
                DisplayError();
            }
        }
        public void Get_Quinella_Dividend_Test()
        {
            // Add Win Quinella Bets
            BlAccessor.ProcessBetInput("Q:1,2:19");
            BlAccessor.ProcessBetInput("Q:2,3:77");
            BlAccessor.ProcessBetInput("Q:1,3:26");
            BlAccessor.ProcessBetInput("Q:2,4:63");
            BlAccessor.ProcessBetInput("Q:1,2:66");
            BlAccessor.ProcessBetInput("Q:2,3:82");
            BlAccessor.ProcessBetInput("Q:1,3:90");
            BlAccessor.ProcessBetInput("Q:2,4:48");
            BlAccessor.ProcessBetInput("Q:1,2:18");
            BlAccessor.ProcessBetInput("Q:2,3:93");
            BlAccessor.ProcessBetInput("Q:1,3:62");
            BlAccessor.ProcessBetInput("Q:2,4:25");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var bettingProduct = BlAccessor.GetProduct(QuinellaCode);

            Assert.IsNotNull(bettingProduct);
            var dividend = bettingProduct.GetDividend();

            Assert.IsTrue(dividend.Count == 2);
            Assert.IsTrue(dividend.ContainsKey(2));
            Assert.IsTrue(dividend.ContainsKey(3));
        }
Exemple #7
0
        public void FormattedOutputDataProvider_Only_ResultInput_Test()
        {
            IFormattedOutputDataProvider outputProvider = new FormattedOutputDataProvider();
            string inputValue = "r:1:2:3";
            bool   success    = BlAccessor.ProcessResultInput(inputValue);

            Assert.IsTrue(success);
            Assert.IsTrue(outputProvider.OutputData != NotEnoughExpectedOutputData);
        }
        public void Negative_Scenarios_With_Initialize()
        {
            var provider = BlAccessor.GetOutputDataProvider() as IOutputDataProvider;

            Assert.IsNotNull(provider);
            Assert.IsTrue(provider.GetWinDividend.Count == 0);
            Assert.IsTrue(provider.GetPlaceDividend.Count == 0);
            Assert.IsTrue(provider.GetExactaDividend.Count == 0);
            Assert.IsTrue(provider.GetQuinellaDividend.Count == 0);
        }
        public void ProductInfo_Valid()
        {
            IProduct productInfo = BlAccessor.GetProduct(WinCode);

            Assert.IsNotNull(productInfo);
            productInfo = BlAccessor.GetProduct(PlaceCode);
            Assert.IsNotNull(productInfo);
            productInfo = BlAccessor.GetProduct(ExactaCode);
            Assert.IsNotNull(productInfo);
            productInfo = BlAccessor.GetProduct(QuinellaCode);
            Assert.IsNotNull(productInfo);
        }
        public void Exacta_Inputs_Scenarios_Test()
        {
            BlAccessor.ProcessBetInput("E:1,2:13");
            BlAccessor.ProcessBetInput("E:1,2:13");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var provider = BlAccessor.GetOutputDataProvider() as IOutputDataProvider;

            Assert.IsNotNull(provider);
            Assert.IsTrue(provider.GetExactaDividend.Count != 0);
        }
        public void Place_Inputs_Scenarios_Test()
        {
            BlAccessor.ProcessBetInput("P:1:3");
            BlAccessor.ProcessBetInput("P:1:31");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var provider = BlAccessor.GetOutputDataProvider() as IOutputDataProvider;

            Assert.IsNotNull(provider);
            Assert.IsTrue(provider.GetPlaceDividend.Count != 0);
        }
        public void All_Inputs_Scenarios_Test()
        {
            BlAccessor.ProcessBetInput("W:1:3");
            BlAccessor.ProcessBetInput("P:1:31");
            BlAccessor.ProcessBetInput("E:1,2:13");
            BlAccessor.ProcessBetInput("Q:1,2:19");

            BlAccessor.ProcessResultInput("r:2:3:1");

            var provider = BlAccessor.GetOutputDataProvider() as IOutputDataProvider;

            Assert.IsNotNull(provider);
            Assert.IsTrue(provider.GetWinDividend.Count != 0);
            Assert.IsTrue(provider.GetPlaceDividend.Count != 0);
            Assert.IsTrue(provider.GetExactaDividend.Count != 0);
            Assert.IsTrue(provider.GetQuinellaDividend.Count != 0);
        }
        public void ResultInput_Negative_Tests()
        {
            string inputValue = "w:2,3:2";
            bool   success    = BlAccessor.ProcessResultInput(inputValue);

            Assert.IsFalse(success);

            inputValue = "r:2,3:2";
            success    = BlAccessor.ProcessResultInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "r:2:2";
            success    = BlAccessor.ProcessResultInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "r:3:2:3";
            success    = BlAccessor.ProcessResultInput(inputValue);
            Assert.IsFalse(success);
        }
        public void BetInput_Negative_Tests()
        {
            string inputValue = "w:2,3:2";
            bool   success    = BlAccessor.ProcessBetInput(inputValue);

            Assert.IsFalse(success);

            inputValue = "x:2,3:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "p:2,3:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "e:2:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "e:2,2:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "q:3:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "x:y:z";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "w:x,y:z";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);

            inputValue = "w :3:2";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsFalse(success);
        }
Exemple #15
0
        public void FormattedOutputDataProvider_Without_Result_Input_Test()
        {
            IFormattedOutputDataProvider outputProvider = new FormattedOutputDataProvider();
            string inputValue = "w:2:3";
            bool   success    = BlAccessor.ProcessBetInput(inputValue);

            Assert.IsTrue(success);
            Assert.IsTrue(outputProvider.OutputData == NotEnoughExpectedOutputData);

            inputValue = "p:1:3";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsTrue(success);
            Assert.IsTrue(outputProvider.OutputData == NotEnoughExpectedOutputData);

            inputValue = "e:1,2:3";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsTrue(success);
            Assert.IsTrue(outputProvider.OutputData == NotEnoughExpectedOutputData);

            inputValue = "q:1,2:3";
            success    = BlAccessor.ProcessBetInput(inputValue);
            Assert.IsTrue(success);
            Assert.IsTrue(outputProvider.OutputData == NotEnoughExpectedOutputData);
        }
 public void Init()
 {
     BlAccessor.InitGlobals();
 }
        public void ProductInfo_Invalid()
        {
            IProduct productInfo = BlAccessor.GetProduct("AnyString");

            Assert.IsNull(productInfo);
        }
 public void Cleanup()
 {
     BlAccessor.ResetGlobals();
 }