Files
AdventOfCode/AdventOfCode2023.Tests/Day07_Tests.cs

71 lines
2.1 KiB
C#

namespace AdventOfCode2023.Tests;
public class Day07_Tests
{
private readonly string[] _example = {
"32T3K 765",
"T55J5 684",
"KK677 28",
"KTJJT 220",
"QQQJA 483",
};
[Fact]
public void ResolvePart1__Example()
{
Day07 day = new();
string result = day.ResolvePart1(_example);
Assert.Equal("6440", result);
}
[Fact]
public void ResolvePart2__Example()
{
Day07 day = new();
string result = day.ResolvePart2(_example);
Assert.Equal("5905", result);
}
[Fact]
public void CamelCard_Type__Examples()
{
Day07.CamelCard card_FiveOfAKind = new("AAAAA");
Assert.Equal(Day07.CamelCard.Types.FiveOfAKind, card_FiveOfAKind.Type);
Day07.CamelCard card_FourOfAKind = new("AA8AA");
Assert.Equal(Day07.CamelCard.Types.FourOfAKind, card_FourOfAKind.Type);
Day07.CamelCard card_FullHouse = new("23332");
Assert.Equal(Day07.CamelCard.Types.FullHouse, card_FullHouse.Type);
Day07.CamelCard card_ThreeOfAKind = new("TTT98");
Assert.Equal(Day07.CamelCard.Types.ThreeOfAKind, card_ThreeOfAKind.Type);
Day07.CamelCard card_TwoPair = new("23432");
Assert.Equal(Day07.CamelCard.Types.TwoPair, card_TwoPair.Type);
Day07.CamelCard card_OnePair = new("A23A4");
Assert.Equal(Day07.CamelCard.Types.OnePair, card_OnePair.Type);
Day07.CamelCard card_HighCard = new("23456");
Assert.Equal(Day07.CamelCard.Types.HighCard, card_HighCard.Type);
}
[Fact]
public void CamelCard_CompareTo__Examples()
{
Day07.CamelCard card_01 = new("33332");
Day07.CamelCard card_02 = new("2AAAA");
Assert.Equal(-1, card_01.CompareTo(card_02));
Assert.Equal(1, card_02.CompareTo(card_01));
Day07.CamelCard card_77888 = new("77888");
Day07.CamelCard card_77788 = new("77788");
Assert.Equal(-1, card_77888.CompareTo(card_77788));
Assert.Equal(1, card_77788.CompareTo(card_77888));
}
}