The c# version has 20~ test cases in a single test, and the expected and actual are flipped backwards. Both those things make it harder to see what is wrong in your test cases.
Something like this would help
{
[TestCase(1, 1)]
[TestCase(2, 2)]
[TestCase(3, 3)]
[TestCase(4, 4)]
// etc
public void Test1(int numberOfHams, int nthSmallestHam)
{
Assert.AreEqual(nthSmallestHam, Hamming.hamming(numberOfHams), "hamming(" + numberOfHams + ") should be " + nthSmallestHam);
}
The c# version has 20~ test cases in a single test, and the expected and actual are flipped backwards. Both those things make it harder to see what is wrong in your test cases.
Something like this would help
{
[TestCase(1, 1)]
[TestCase(2, 2)]
[TestCase(3, 3)]
[TestCase(4, 4)]
// etc
public void Test1(int numberOfHams, int nthSmallestHam)
{
Assert.AreEqual(nthSmallestHam, Hamming.hamming(numberOfHams), "hamming(" + numberOfHams + ") should be " + nthSmallestHam);
}