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]); } }
public void GetValuesWithFour_should_return_all_values_that_has_at_least_a_four_equal_numbers(int[] expected, int[] values) { var result = ServiceToCaculatePointsHelper.GetValuesWithFour(values).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]); } }
public Category CalculatePointsToCategory(IEnumerable <int> values) { var category = new Category { Id = index, Name = "Três", Points = ServiceToCaculatePointsHelper.CalculatePoints(values, index), Rule = $"Haver pelo menos 1 dado com valor {index} no rolamento.", Calculation = $"Soma de todos os dados de valor {index}." }; return(category); }
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); }
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); }
public void CalculatePointsToCategory_should_return_the_expected_values(int expected, int[] values, int baseValue) { var result = ServiceToCaculatePointsHelper.CalculatePoints(values, baseValue); Assert.Equal(expected, result); }