private void InitializeOutChart()
        {
            OutCalculator outCalculator            = new OutCalculator(InOutRule.Double);
            List <string> allOutsList              = new List <string>();
            Dictionary <int, List <Dart> > allOuts = outCalculator.GetAllOuts();

            // iterate through the dictionary to get all the outs
            foreach (KeyValuePair <int, List <Dart> > entry in allOuts)
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append(entry.Key.ToString());
                stringBuilder.Append(": ");

                for (int j = 0; j < entry.Value.Count; j++)
                {
                    stringBuilder.Append(entry.Value[j].Abbreviation);
                    if (j != entry.Value.Count - 1)
                    {
                        stringBuilder.Append(", ");
                    }
                }

                string outItemText = stringBuilder.ToString();
                allOutsList.Add(outItemText);
            }

            Android.Widget.ListView lstMyList = (Android.Widget.ListView)FindViewById <Android.Widget.ListView>(Resource.Id.MyList);
            lstMyList.Adapter = new OutChartAdapter(this, allOutsList);
        }
Esempio n. 2
0
        private string RecommendedOut(int TotalOut)

        //This gets the out from the classes and vocalizes the words
        {
            int dartCount = 0;

            OutCalculator clsOutCalc = new OutCalculator(InOutRule.Double);
            List <Dart>   recOut     = clsOutCalc.GetDartsForOut(TotalOut);

            StringBuilder sb = new StringBuilder();

            foreach (Dart mDart in recOut)
            {
                sb.Append(recOut[dartCount].ToString() + ", ");
                dartCount++;
            }

            string strOutText = "";

            if (0 == sb.Length)
            {
                strOutText = "Out Not Found";
            }
            else
            {
                sb         = sb.Remove(sb.Length - 2, 2);
                strOutText = sb.ToString();
            }

            return(strOutText);
        }
        public void GetAllOuts_WithDoubleOutRule_GetsTheExpectedOuts()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            var subject = calculator.GetAllOuts();

            // Assert
            Assert.AreEqual("DoubleOutSplitBullOuts", subject.GetType().Name, "Not expected class");
        }
        public void RuleProperty_Always_ReturnsWhatWasPassedIntoConstructor()
        {
            // Arrange
            InOutRule expectedRule = InOutRule.Open;

            // Act
            OutCalculator subject = new OutCalculator(expectedRule);

            // Assert
            Assert.AreEqual(expectedRule, subject.Rule, "Rule was not the expected value");
        }
        public void GetDartsForOut_Provide1DartsRemainingWithNoPossibleOut_ReturnsExpectedOut()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            List <Dart> subject = calculator.GetDartsForOut(51, 1);

            // Assert
            Assert.IsNotNull(subject, "Return was null when not expected");
            Assert.AreEqual(0, subject.Count, "Unexpected number of darts");
        }
        public void GetDartsForOut_NoOutForProvidedScore_ReturnsEmptyList()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            List <Dart> subject = calculator.GetDartsForOut(181);

            // Assert
            Assert.IsNotNull(subject, "Return was null when not expected");
            Assert.AreEqual(0, subject.Count, "Unexpected number of darts");
        }
        public void GetDartsForOut_Provide1DartsRemaining_ReturnsExpectedOut()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            List <Dart> subject = calculator.GetDartsForOut(38, 1);

            // Assert
            Assert.IsNotNull(subject, "Return was null when not expected");
            Assert.AreEqual(1, subject.Count, "Unexpected number of darts");
            Assert.AreEqual("D19", subject[0].Abbreviation, "Unexpected second dart");
        }
        public void GetDartsForOut_170WithDoubleOutRule_GetsTheExpectedOut()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            List <Dart> subject = calculator.GetDartsForOut(170);

            // Assert
            Assert.AreEqual(3, subject.Count, "Unexpected number of darts");
            Assert.AreEqual("T20", subject[0].Abbreviation, "Unexpected first dart");
            Assert.AreEqual("T20", subject[1].Abbreviation, "Unexpected second dart");
            Assert.AreEqual("DB", subject[2].Abbreviation, "Unexpected third dart");
        }
Esempio n. 9
0
        private string GetAbbrevOut(int TotalOut)
        {
            int           score         = TotalOut;
            OutCalculator outCalculator = new OutCalculator(InOutRule.Double);
            List <Dart>   outs          = outCalculator.GetDartsForOut(score);

            StringBuilder stringBuilder = new StringBuilder();

            for (int i = 0; i < outs.Count; i++)
            {
                stringBuilder.Append(outs[i].Abbreviation);
                if (i != outs.Count - 1)
                {
                    stringBuilder.Append(", ");
                }
            }

            string text = stringBuilder.ToString();

            return(text);
        }
Esempio n. 10
0
        public void GetAllOuts_WithDoubleOutRule_MathOfExpectedOutsWorks()
        {
            // Arrange
            OutCalculator calculator = new OutCalculator(InOutRule.Double);

            // Act
            var subject = calculator.GetAllOuts();

            // Assert
            foreach (var keyValue in subject)
            {
                int total = 0;

                foreach (Dart dart in keyValue.Value)
                {
                    total += dart.Value;
                }

                Assert.AreEqual(keyValue.Key, total, string.Format("Total did not match for {0}", keyValue.Key));
                Assert.AreEqual(SegmentMultiplier.Double, keyValue.Value.LastOrDefault().Multiplier, "Last dart multiplier was not Double");
            }
        }