Skip to content

Commit 60a8513

Browse files
authored
Switch to file-scoped namespaces (#439)
1 parent 9b9c5b6 commit 60a8513

File tree

81 files changed

+1840
-1919
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1840
-1919
lines changed
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
1-
using System.Linq;
1+
using System.Linq;
22
using Algorithms.Problems.DynamicProgramming.CoinChange;
33
using FluentAssertions;
44
using NUnit.Framework;
55

6-
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange
6+
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange;
7+
8+
[TestFixture]
9+
public class GenerateChangesDictionaryTests
710
{
8-
[TestFixture]
9-
public class GenerateChangesDictionaryTests
11+
[Test]
12+
public void GenerateChangesDictionaryTest_Success()
1013
{
11-
[Test]
12-
public void GenerateChangesDictionaryTest_Success()
13-
{
14-
const int coin = 6;
15-
var coins = new[] { 1, 3, 4 };
16-
var changeDictionary = DynamicCoinChangeSolver.GenerateChangesDictionary(coin, coins);
14+
const int coin = 6;
15+
var coins = new[] { 1, 3, 4 };
16+
var changeDictionary = DynamicCoinChangeSolver.GenerateChangesDictionary(coin, coins);
1717

18-
changeDictionary[1].SequenceEqual(new[] { 0 }).Should().BeTrue();
19-
changeDictionary[2].SequenceEqual(new[] { 1 }).Should().BeTrue();
20-
changeDictionary[3].SequenceEqual(new[] { 0, 2 }).Should().BeTrue();
21-
changeDictionary[4].SequenceEqual(new[] { 0, 1, 3 }).Should().BeTrue();
22-
changeDictionary[5].SequenceEqual(new[] { 1, 2, 4 }).Should().BeTrue();
23-
changeDictionary[6].SequenceEqual(new[] { 2, 3, 5 }).Should().BeTrue();
24-
}
18+
changeDictionary[1].SequenceEqual(new[] { 0 }).Should().BeTrue();
19+
changeDictionary[2].SequenceEqual(new[] { 1 }).Should().BeTrue();
20+
changeDictionary[3].SequenceEqual(new[] { 0, 2 }).Should().BeTrue();
21+
changeDictionary[4].SequenceEqual(new[] { 0, 1, 3 }).Should().BeTrue();
22+
changeDictionary[5].SequenceEqual(new[] { 1, 2, 4 }).Should().BeTrue();
23+
changeDictionary[6].SequenceEqual(new[] { 2, 3, 5 }).Should().BeTrue();
2524
}
2625
}
Lines changed: 86 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,95 @@
1-
using System;
1+
using System;
22
using System.Linq;
33
using Algorithms.Problems.DynamicProgramming.CoinChange;
44
using FluentAssertions;
55
using NUnit.Framework;
66

7-
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange
7+
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange;
8+
9+
[TestFixture]
10+
public class GenerateSingleCoinChangesTests
811
{
9-
[TestFixture]
10-
public class GenerateSingleCoinChangesTests
12+
[Test]
13+
public void GenerateSingleCoinChangesTests_Success()
14+
{
15+
DynamicCoinChangeSolver
16+
.GenerateSingleCoinChanges(6, new[] { 1, 2, 3 })
17+
.SequenceEqual(new[] { 3, 4, 5 })
18+
.Should().BeTrue();
19+
20+
DynamicCoinChangeSolver
21+
.GenerateSingleCoinChanges(10, new[] { 1, 2, 3, 7, 12, 15, 14 })
22+
.SequenceEqual(new[] { 3, 7, 8, 9 })
23+
.Should().BeTrue();
24+
25+
DynamicCoinChangeSolver
26+
.GenerateSingleCoinChanges(1, new[] { 1, 2, 3, 7, 12, 15, 14 })
27+
.SequenceEqual(new[] { 0 })
28+
.Should().BeTrue();
29+
30+
DynamicCoinChangeSolver
31+
.GenerateSingleCoinChanges(2, new[] { 1, 2, 3, 7, 12, 15, 14 })
32+
.SequenceEqual(new[] { 0, 1 })
33+
.Should().BeTrue();
34+
}
35+
36+
[Test]
37+
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinCannotBeLesserOrEqualZero()
38+
{
39+
const int coin = 0;
40+
var arr = new[] { 1, 2, 3 };
41+
42+
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, arr);
43+
44+
act.Should().Throw<InvalidOperationException>()
45+
.WithMessage($"The coin cannot be lesser or equal to zero {nameof(coin)}.");
46+
}
47+
48+
[Test]
49+
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotBeEmpty()
50+
{
51+
const int coin = 10;
52+
var coinsAsArray = Array.Empty<int>();
53+
54+
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
55+
56+
act.Should().Throw<InvalidOperationException>()
57+
.WithMessage($"Coins array cannot be empty {nameof(coinsAsArray)}.");
58+
}
59+
60+
[Test]
61+
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayMustContainOne()
1162
{
12-
[Test]
13-
public void GenerateSingleCoinChangesTests_Success()
14-
{
15-
DynamicCoinChangeSolver
16-
.GenerateSingleCoinChanges(6, new[] { 1, 2, 3 })
17-
.SequenceEqual(new[] { 3, 4, 5 })
18-
.Should().BeTrue();
19-
20-
DynamicCoinChangeSolver
21-
.GenerateSingleCoinChanges(10, new[] { 1, 2, 3, 7, 12, 15, 14 })
22-
.SequenceEqual(new[] { 3, 7, 8, 9 })
23-
.Should().BeTrue();
24-
25-
DynamicCoinChangeSolver
26-
.GenerateSingleCoinChanges(1, new[] { 1, 2, 3, 7, 12, 15, 14 })
27-
.SequenceEqual(new[] { 0 })
28-
.Should().BeTrue();
29-
30-
DynamicCoinChangeSolver
31-
.GenerateSingleCoinChanges(2, new[] { 1, 2, 3, 7, 12, 15, 14 })
32-
.SequenceEqual(new[] { 0, 1 })
33-
.Should().BeTrue();
34-
}
35-
36-
[Test]
37-
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinCannotBeLesserOrEqualZero()
38-
{
39-
const int coin = 0;
40-
var arr = new[] { 1, 2, 3 };
41-
42-
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, arr);
43-
44-
act.Should().Throw<InvalidOperationException>()
45-
.WithMessage($"The coin cannot be lesser or equal to zero {nameof(coin)}.");
46-
}
47-
48-
[Test]
49-
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotBeEmpty()
50-
{
51-
const int coin = 10;
52-
var coinsAsArray = Array.Empty<int>();
53-
54-
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
55-
56-
act.Should().Throw<InvalidOperationException>()
57-
.WithMessage($"Coins array cannot be empty {nameof(coinsAsArray)}.");
58-
}
59-
60-
[Test]
61-
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayMustContainOne()
62-
{
63-
const int coin = 10;
64-
var coinsAsArray = new[] { 2, 3, 4 };
65-
66-
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
67-
68-
act.Should().Throw<InvalidOperationException>()
69-
.WithMessage($"Coins array must contain coin 1 {nameof(coinsAsArray)}.");
70-
}
71-
72-
[Test]
73-
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotContainNegativeValues()
74-
{
75-
const int coin = 10;
76-
var coinsAsArray = new[] { 1, 2, -3, 4 };
77-
78-
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
79-
80-
act.Should().Throw<InvalidOperationException>()
81-
.WithMessage($"{nameof(coinsAsArray)} cannot contain numbers less than or equal to zero");
82-
}
83-
84-
[Test]
85-
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotContainDuplicates()
86-
{
87-
const int coin = 10;
88-
var coinsAsArray = new[] { 1, 2, 3, 3, 4 };
89-
90-
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
91-
92-
act.Should().Throw<InvalidOperationException>()
93-
.WithMessage($"Coins array cannot contain duplicates {nameof(coinsAsArray)}.");
94-
}
63+
const int coin = 10;
64+
var coinsAsArray = new[] { 2, 3, 4 };
65+
66+
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
67+
68+
act.Should().Throw<InvalidOperationException>()
69+
.WithMessage($"Coins array must contain coin 1 {nameof(coinsAsArray)}.");
70+
}
71+
72+
[Test]
73+
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotContainNegativeValues()
74+
{
75+
const int coin = 10;
76+
var coinsAsArray = new[] { 1, 2, -3, 4 };
77+
78+
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
79+
80+
act.Should().Throw<InvalidOperationException>()
81+
.WithMessage($"{nameof(coinsAsArray)} cannot contain numbers less than or equal to zero");
82+
}
83+
84+
[Test]
85+
public void GenerateSingleCoinChangesTests_ShouldThrow_CoinsArrayCannotContainDuplicates()
86+
{
87+
const int coin = 10;
88+
var coinsAsArray = new[] { 1, 2, 3, 3, 4 };
89+
90+
Func<int[]> act = () => DynamicCoinChangeSolver.GenerateSingleCoinChanges(coin, coinsAsArray);
91+
92+
act.Should().Throw<InvalidOperationException>()
93+
.WithMessage($"Coins array cannot contain duplicates {nameof(coinsAsArray)}.");
9594
}
9695
}
Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
using Algorithms.Problems.DynamicProgramming.CoinChange;
1+
using Algorithms.Problems.DynamicProgramming.CoinChange;
22
using FluentAssertions;
33
using NUnit.Framework;
44

5-
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange
5+
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange;
6+
7+
public class GetMinimalNextCoinTests
68
{
7-
public class GetMinimalNextCoinTests
9+
[Test]
10+
public void GetMinimalNextCoinTest_Success()
811
{
9-
[Test]
10-
public void GetMinimalNextCoinTest_Success()
11-
{
12-
const int coin = 6;
13-
var coins = new[] { 1, 3, 4 };
14-
var exchangeDict = DynamicCoinChangeSolver.GenerateChangesDictionary(coin, coins);
15-
var nextCoin = DynamicCoinChangeSolver.GetMinimalNextCoin(6, exchangeDict);
12+
const int coin = 6;
13+
var coins = new[] { 1, 3, 4 };
14+
var exchangeDict = DynamicCoinChangeSolver.GenerateChangesDictionary(coin, coins);
15+
var nextCoin = DynamicCoinChangeSolver.GetMinimalNextCoin(6, exchangeDict);
1616

17-
nextCoin.Should().Be(3);
18-
}
17+
nextCoin.Should().Be(3);
1918
}
2019
}
Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
1-
using System.Linq;
1+
using System.Linq;
22
using Algorithms.Problems.DynamicProgramming.CoinChange;
33
using FluentAssertions;
44
using NUnit.Framework;
55

6-
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange
6+
namespace Algorithms.Tests.Problems.DynamicProgramming.CoinChange;
7+
8+
[TestFixture]
9+
public class MakeCoinChangeDynamicTests
710
{
8-
[TestFixture]
9-
public class MakeCoinChangeDynamicTests
11+
[Test]
12+
public void MakeCoinChangeDynamicTest_Success()
1013
{
11-
[Test]
12-
public void MakeCoinChangeDynamicTest_Success()
13-
{
14-
DynamicCoinChangeSolver
15-
.MakeCoinChangeDynamic(6, new[] { 1, 3, 4 })
16-
.SequenceEqual(new[] { 3, 3 })
17-
.Should().BeTrue();
14+
DynamicCoinChangeSolver
15+
.MakeCoinChangeDynamic(6, new[] { 1, 3, 4 })
16+
.SequenceEqual(new[] { 3, 3 })
17+
.Should().BeTrue();
1818

19-
DynamicCoinChangeSolver
20-
.MakeCoinChangeDynamic(8, new[] { 1, 3, 4 })
21-
.SequenceEqual(new[] { 4, 4 })
22-
.Should().BeTrue();
19+
DynamicCoinChangeSolver
20+
.MakeCoinChangeDynamic(8, new[] { 1, 3, 4 })
21+
.SequenceEqual(new[] { 4, 4 })
22+
.Should().BeTrue();
2323

24-
DynamicCoinChangeSolver
25-
.MakeCoinChangeDynamic(25, new[] { 1, 3, 4, 12, 13, 14 })
26-
.SequenceEqual(new[] { 13, 12 })
27-
.Should().BeTrue();
24+
DynamicCoinChangeSolver
25+
.MakeCoinChangeDynamic(25, new[] { 1, 3, 4, 12, 13, 14 })
26+
.SequenceEqual(new[] { 13, 12 })
27+
.Should().BeTrue();
2828

29-
DynamicCoinChangeSolver
30-
.MakeCoinChangeDynamic(26, new[] { 1, 3, 4, 12, 13, 14 })
31-
.SequenceEqual(new[] { 14, 12 })
32-
.Should().BeTrue();
33-
}
29+
DynamicCoinChangeSolver
30+
.MakeCoinChangeDynamic(26, new[] { 1, 3, 4, 12, 13, 14 })
31+
.SequenceEqual(new[] { 14, 12 })
32+
.Should().BeTrue();
3433
}
3534
}
Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
using NUnit.Framework;
22
using Algorithms.Problems.DynamicProgramming;
33

4-
namespace Algorithms.Tests.DynamicProgramming
4+
namespace Algorithms.Tests.DynamicProgramming;
5+
6+
public class LevenshteinDistanceTests
57
{
6-
public class LevenshteinDistanceTests
8+
[TestCase("kitten", "sitting", 3)]
9+
[TestCase("bob", "bond", 2)]
10+
[TestCase("algorithm", "logarithm", 3)]
11+
[TestCase("star", "", 4)]
12+
[TestCase("", "star", 4)]
13+
[TestCase("abcde", "12345", 5)]
14+
public void Calculate_ReturnsCorrectLevenshteinDistance(string source, string destination, int expectedDistance)
715
{
8-
[TestCase("kitten", "sitting", 3)]
9-
[TestCase("bob", "bond", 2)]
10-
[TestCase("algorithm", "logarithm", 3)]
11-
[TestCase("star", "", 4)]
12-
[TestCase("", "star", 4)]
13-
[TestCase("abcde", "12345", 5)]
14-
public void Calculate_ReturnsCorrectLevenshteinDistance(string source, string destination, int expectedDistance)
15-
{
16-
var result = LevenshteinDistance.Calculate(source, destination);
17-
Assert.AreEqual(expectedDistance, result);
18-
}
16+
var result = LevenshteinDistance.Calculate(source, destination);
17+
Assert.AreEqual(expectedDistance, result);
1918
}
2019
}

0 commit comments

Comments
 (0)