private static int CalculatePoints(IEnumerable <int> values)
        {
            var valuesWithTrios = ServiceToCaculatePointsHelper.GetValuesWithTrios(values).ToList();

            if (valuesWithTrios.Any())
            {
                var value = valuesWithTrios.Max();
                return(value * 3);
            }

            return(0);
        }
Exemple #2
0
        public void GetValuesWithTrios_should_return_all_values_that_has_exactly_a_trio(int[] expected, int[] values)
        {
            var result = ServiceToCaculatePointsHelper.GetValuesWithTrios(values, true).OrderBy(v => v).ToArray();

            expected = expected.OrderBy(v => v).ToArray();

            Assert.Equal(expected.Length, result.Length);
            for (var i = 0; i < expected.Length; i++)
            {
                Assert.Equal(expected[i], result[i]);
            }
        }
        private static int CalculatePoints(IEnumerable <int> values)
        {
            var valuesWithTrios = ServiceToCaculatePointsHelper.GetValuesWithTrios(values, true).ToList();
            var valuesWithPair  = ServiceToCaculatePointsHelper.GetValuesWithPairs(values, true).ToList();

            if (valuesWithTrios.Any() && valuesWithPair.Any())
            {
                var valueOfTrio = valuesWithTrios.Max();
                valueOfTrio = valueOfTrio * 3;
                var valueOfPair = valuesWithPair.Max();
                valueOfPair = valueOfPair * 2;
                return(valueOfTrio + valueOfPair);
            }

            return(0);
        }