Skip to content

Commit b1a952b

Browse files
Add sum-of-multiples
1 parent 713a08e commit b1a952b

File tree

2 files changed

+44
-33
lines changed

2 files changed

+44
-33
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using Xunit;
2+
3+
public class SumOfMultiplesTests
4+
{
5+
{{#test_cases}}
6+
[Fact{{#unless @first}}(Skip = "Remove this Skip property to run this test"){{/unless}}]
7+
public void {{method_name path}}()
8+
{
9+
Assert.Equal({{expected}}, SumOfMultiples.Sum({{input.factors}}, {{input.limit}}));
10+
}
11+
{{/test_cases}}
12+
}
Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,100 @@
1-
using System;
21
using Xunit;
32

43
public class SumOfMultiplesTests
54
{
65
[Fact]
7-
public void No_multiples_within_limit()
6+
public void NoMultiplesWithinLimit()
87
{
9-
Assert.Equal(0, SumOfMultiples.Sum(new[] { 3, 5 }, 1));
8+
Assert.Equal(0, SumOfMultiples.Sum([3, 5], 1));
109
}
1110

1211
[Fact(Skip = "Remove this Skip property to run this test")]
13-
public void One_factor_has_multiples_within_limit()
12+
public void OneFactorHasMultiplesWithinLimit()
1413
{
15-
Assert.Equal(3, SumOfMultiples.Sum(new[] { 3, 5 }, 4));
14+
Assert.Equal(3, SumOfMultiples.Sum([3, 5], 4));
1615
}
1716

1817
[Fact(Skip = "Remove this Skip property to run this test")]
19-
public void More_than_one_multiple_within_limit()
18+
public void MoreThanOneMultipleWithinLimit()
2019
{
21-
Assert.Equal(9, SumOfMultiples.Sum(new[] { 3 }, 7));
20+
Assert.Equal(9, SumOfMultiples.Sum([3], 7));
2221
}
2322

2423
[Fact(Skip = "Remove this Skip property to run this test")]
25-
public void More_than_one_factor_with_multiples_within_limit()
24+
public void MoreThanOneFactorWithMultiplesWithinLimit()
2625
{
27-
Assert.Equal(23, SumOfMultiples.Sum(new[] { 3, 5 }, 10));
26+
Assert.Equal(23, SumOfMultiples.Sum([3, 5], 10));
2827
}
2928

3029
[Fact(Skip = "Remove this Skip property to run this test")]
31-
public void Each_multiple_is_only_counted_once()
30+
public void EachMultipleIsOnlyCountedOnce()
3231
{
33-
Assert.Equal(2318, SumOfMultiples.Sum(new[] { 3, 5 }, 100));
32+
Assert.Equal(2318, SumOfMultiples.Sum([3, 5], 100));
3433
}
3534

3635
[Fact(Skip = "Remove this Skip property to run this test")]
37-
public void A_much_larger_limit()
36+
public void AMuchLargerLimit()
3837
{
39-
Assert.Equal(233168, SumOfMultiples.Sum(new[] { 3, 5 }, 1000));
38+
Assert.Equal(233168, SumOfMultiples.Sum([3, 5], 1000));
4039
}
4140

4241
[Fact(Skip = "Remove this Skip property to run this test")]
43-
public void Three_factors()
42+
public void ThreeFactors()
4443
{
45-
Assert.Equal(51, SumOfMultiples.Sum(new[] { 7, 13, 17 }, 20));
44+
Assert.Equal(51, SumOfMultiples.Sum([7, 13, 17], 20));
4645
}
4746

4847
[Fact(Skip = "Remove this Skip property to run this test")]
49-
public void Factors_not_relatively_prime()
48+
public void FactorsNotRelativelyPrime()
5049
{
51-
Assert.Equal(30, SumOfMultiples.Sum(new[] { 4, 6 }, 15));
50+
Assert.Equal(30, SumOfMultiples.Sum([4, 6], 15));
5251
}
5352

5453
[Fact(Skip = "Remove this Skip property to run this test")]
55-
public void Some_pairs_of_factors_relatively_prime_and_some_not()
54+
public void SomePairsOfFactorsRelativelyPrimeAndSomeNot()
5655
{
57-
Assert.Equal(4419, SumOfMultiples.Sum(new[] { 5, 6, 8 }, 150));
56+
Assert.Equal(4419, SumOfMultiples.Sum([5, 6, 8], 150));
5857
}
5958

6059
[Fact(Skip = "Remove this Skip property to run this test")]
61-
public void One_factor_is_a_multiple_of_another()
60+
public void OneFactorIsAMultipleOfAnother()
6261
{
63-
Assert.Equal(275, SumOfMultiples.Sum(new[] { 5, 25 }, 51));
62+
Assert.Equal(275, SumOfMultiples.Sum([5, 25], 51));
6463
}
6564

6665
[Fact(Skip = "Remove this Skip property to run this test")]
67-
public void Much_larger_factors()
66+
public void MuchLargerFactors()
6867
{
69-
Assert.Equal(2203160, SumOfMultiples.Sum(new[] { 43, 47 }, 10000));
68+
Assert.Equal(2203160, SumOfMultiples.Sum([43, 47], 10000));
7069
}
7170

7271
[Fact(Skip = "Remove this Skip property to run this test")]
73-
public void All_numbers_are_multiples_of_1()
72+
public void AllNumbersAreMultiplesOf1()
7473
{
75-
Assert.Equal(4950, SumOfMultiples.Sum(new[] { 1 }, 100));
74+
Assert.Equal(4950, SumOfMultiples.Sum([1], 100));
7675
}
7776

7877
[Fact(Skip = "Remove this Skip property to run this test")]
79-
public void No_factors_means_an_empty_sum()
78+
public void NoFactorsMeansAnEmptySum()
8079
{
81-
Assert.Equal(0, SumOfMultiples.Sum(Array.Empty<int>(), 10000));
80+
Assert.Equal(0, SumOfMultiples.Sum([], 10000));
8281
}
8382

8483
[Fact(Skip = "Remove this Skip property to run this test")]
85-
public void The_only_multiple_of_0_is_0()
84+
public void TheOnlyMultipleOf0Is0()
8685
{
87-
Assert.Equal(0, SumOfMultiples.Sum(new[] { 0 }, 1));
86+
Assert.Equal(0, SumOfMultiples.Sum([0], 1));
8887
}
8988

9089
[Fact(Skip = "Remove this Skip property to run this test")]
91-
public void The_factor_0_does_not_affect_the_sum_of_multiples_of_other_factors()
90+
public void TheFactor0DoesNotAffectTheSumOfMultiplesOfOtherFactors()
9291
{
93-
Assert.Equal(3, SumOfMultiples.Sum(new[] { 3, 0 }, 4));
92+
Assert.Equal(3, SumOfMultiples.Sum([3, 0], 4));
9493
}
9594

9695
[Fact(Skip = "Remove this Skip property to run this test")]
97-
public void Solutions_using_include_exclude_must_extend_to_cardinality_greater_than_3()
96+
public void SolutionsUsingIncludeExcludeMustExtendToCardinalityGreaterThan3()
9897
{
99-
Assert.Equal(39614537, SumOfMultiples.Sum(new[] { 2, 3, 5, 7, 11 }, 10000));
98+
Assert.Equal(39614537, SumOfMultiples.Sum([2, 3, 5, 7, 11], 10000));
10099
}
101100
}

0 commit comments

Comments
 (0)