コード例 #1
0
        public void GetValuesWithPairs_should_return_all_values_that_has_exactly_a_pair(int[] expected, int[] values)
        {
            var result = ServiceToCaculatePointsHelper.GetValuesWithPairs(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 valuesWithPairs = ServiceToCaculatePointsHelper.GetValuesWithPairs(values);

            if (!valuesWithPairs.Any())
            {
                return(0);
            }

            var value = valuesWithPairs.Max();

            return(value * 2);
        }
        private static int CalculatePoints(IEnumerable <int> values)
        {
            var valuesWithPairs = ServiceToCaculatePointsHelper.GetValuesWithPairs(values).ToList();

            if (valuesWithPairs.Count() > 1)
            {
                var value1 = valuesWithPairs.Max();
                valuesWithPairs.Remove(value1);
                value1 = value1 * 2;
                var value2 = valuesWithPairs.Max();
                value2 = value2 * 2;
                return(value1 + value2);
            }

            return(0);
        }
        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);
        }