diff --git a/09/MirageMaintenance.Tests/OasisReportTests.cs b/09/MirageMaintenance.Tests/OasisReportTests.cs index d3ffdb3..c69fc91 100644 --- a/09/MirageMaintenance.Tests/OasisReportTests.cs +++ b/09/MirageMaintenance.Tests/OasisReportTests.cs @@ -6,7 +6,10 @@ public class UnitTest1 [MemberData(nameof(TestData.OasisReportParseTestData), MemberType = typeof(TestData))] public void Parse_GivenAReportInput_ItShouldReturnExpectedOasisReportInstance(string[] input, OasisReport expected) { - OasisReport.Parse(input).Should().BeEquivalentTo(expected); + OasisReport + .Parse(input) + .Should() + .BeEquivalentTo(expected); } [Fact] @@ -19,11 +22,37 @@ public class UnitTest1 "10 13 16 21 30 45", }; - OasisReport.Parse(input).CalculateSumOfNextValues().Should().Be(114); + OasisReport + .Parse(input) + .CalculateSumOfNextValues() + .Should() + .Be(114); + } + + [Fact] + public void CalculateSumOfNextValues_WhenGivenInput_ItShouldReturnTheSumOfAllNextValues() + { + OasisReport + .Parse(TestData.Input) + .CalculateSumOfNextValues() + .Should() + .Be(2175229206); + } + + [Fact] + public void CalculateSumOfNextValues_WhenGivenInputAndBackwardsIsTrue_ItShouldReturnTheSumOfAllNextValues() + { + OasisReport + .Parse(TestData.Input) + .CalculateSumOfNextValues(true) + .Should() + .Be(942); } public static class TestData { + public static readonly string[] Input = File.ReadAllLines("INPUT.txt"); + public static IEnumerable OasisReportParseTestData => new List { diff --git a/09/MirageMaintenance.Tests/ValueHistoryTests.cs b/09/MirageMaintenance.Tests/ValueHistoryTests.cs index 1804854..828ae2e 100644 --- a/09/MirageMaintenance.Tests/ValueHistoryTests.cs +++ b/09/MirageMaintenance.Tests/ValueHistoryTests.cs @@ -6,28 +6,40 @@ public class ValueHistoryTests [MemberData(nameof(TestData.CalculateDifferencesTestData), MemberType = typeof(TestData))] public void CalculateDifferences_GivenAListOfValues_ItShouldReturnAListOfDifferences(List values, List expected) { - new ValueHistory([]).CalculateDifferences(values).Should().BeEquivalentTo(expected); + new ValueHistory([]) + .CalculateDifferences(values) + .Should() + .BeEquivalentTo(expected); } [Theory] [MemberData(nameof(TestData.CalculateHistoryTestData), MemberType = typeof(TestData))] public void CalculateHistory_GivenAListOfValues_ItShouldReturnAListOfHistoricalValues(List values, List> expected) { - new ValueHistory(values).CalculateHistory().Should().BeEquivalentTo(expected); + new ValueHistory(values) + .CalculateHistory() + .Should() + .BeEquivalentTo(expected); } [Theory] [MemberData(nameof(TestData.CalculateNextValueTestData), MemberType = typeof(TestData))] public void CalculateNextValue_GivenAListOfValues_ItShouldReturnTheNextValue(List values, long expected) { - new ValueHistory(values).CalculateNextValue().Should().Be(expected); + new ValueHistory(values) + .CalculateNextValue() + .Should() + .Be(expected); } [Theory] [MemberData(nameof(TestData.CalculateNextValueTestDataBackwards), MemberType = typeof(TestData))] public void CalculateNextValue_GivenAListOfValuesAndBackwardsIsTrue_ItShouldReturnTheNextValue(List values, long expected) { - new ValueHistory(values).CalculateNextValue(true).Should().Be(expected); + new ValueHistory(values) + .CalculateNextValue(true) + .Should() + .Be(expected); } public static class TestData