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); }
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); }