Added unit test project for HelperClasses and tests for IntegerRange.cs. Implemented IEnumerable on IntegerRange.

This commit is contained in:
2025-12-14 14:45:13 +01:00
parent bef54ff551
commit 33eb7322a8
5 changed files with 129 additions and 6 deletions
@@ -0,0 +1,60 @@
namespace AdventOfCode.HelperClasses.Tests;
public class IntegerRangeTests
{
private readonly IntegerRange _sut;
public IntegerRangeTests()
{
_sut = new IntegerRange(1, 10);
}
[Fact]
public void Range1_10_Count_equals_10()
{
var actual = _sut.Count;
Assert.Equal(10, actual);
}
[Theory]
[InlineData(10)]
[InlineData(1)]
[InlineData(5)]
public void Range1_10_Contains_data_is_true(int data)
{
var actual = _sut.Contains(data);
Assert.True(actual);
}
[Theory]
[InlineData(10)]
[InlineData(1)]
[InlineData(5)]
[InlineData(11)]
[InlineData(20)]
[InlineData(15)]
public void CombinedRange1_20_Contains_data_is_true(int data)
{
var actual = _sut.TryCombine(new IntegerRange(11, 20), out var combined);
Assert.True(actual);
actual = combined.Contains(data);
Assert.True(actual);
}
[Fact]
public void First_equals_1()
{
var actual = _sut.First();
Assert.Equal(1, actual);
}
[Fact]
public void Last_equals_10()
{
var actual = _sut.Last();
Assert.Equal(10, actual);
}
}