AdventOfCode/AdventOfCode.HelperClasses..../IntegerRangeTests.cs

60 lines
1.2 KiB
C#

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);
}
}