ex-int-05-numbers/Numbers.Test/NumberFactory/OddNumberTests.cs
github-classroom[bot] b087f272b4
Initial commit
2025-04-29 15:03:45 +00:00

76 lines
1.8 KiB
C#

using Numbers.NumberFactory;
namespace Numbers.Test.NumberFactory;
public sealed class OddNumberTests
{
[Fact]
public void LowerBound()
{
const long LowerBound = 4;
var numbers = Factory.Create(NumberType.Odd, LowerBound, 10);
numbers.LowerBound.Should().Be(LowerBound);
}
[Fact]
public void UpperBound()
{
const long UpperBound = 10;
var numbers = Factory.Create(NumberType.Odd, 4, UpperBound);
numbers.UpperBound.Should().Be(UpperBound);
}
[Fact]
public void Count()
{
var numbers = Factory.Create(NumberType.Odd, 4, 10);
numbers.Length.Should().Be(3, "5, 7, 9");
}
[Fact]
public void FirstIndex()
{
var numbers = Factory.Create(NumberType.Odd, 4, 10);
numbers[0].Should().Be(5);
}
[Fact]
public void LastIndex()
{
var numbers = Factory.Create(NumberType.Odd, 4, 10);
numbers[^1].Should().Be(9);
}
[Theory]
[InlineData(NumberType.Odd, 4, 10, new long[] { 5, 7, 9 })]
[InlineData(NumberType.Odd, 3, 10, new long[] { 3, 5, 7, 9 })]
[InlineData(NumberType.Odd, 4, 11, new long[] { 5, 7, 9, 11 })]
public void Content(NumberType type, long lower, long upper, long[] expected)
{
var numbers = Factory.Create(type, lower, upper);
for (var i = 0; i < numbers.Length; i++)
{
numbers[i].Should().Be(expected[i]);
}
}
[Fact]
public void ForeachContent()
{
int i = -1;
long[] expected = [5, 7, 9];
var numbers = Factory.Create(NumberType.Odd, 4, 10);
foreach (long item in numbers)
{
i++;
item.Should().Be(expected[i]);
}
}
}