From 98dc03ede9ca3bbfe7befdc0121d20f288b5cd55 Mon Sep 17 00:00:00 2001 From: Breno RdV Date: Wed, 19 Jun 2024 20:05:20 -0400 Subject: [PATCH] Moar tests! --- .../BaseCalculatorHandlerTests.cs | 19 +++++++++++++++++++ .../Handlers/DoNothingMockCalculator.cs | 12 ++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 Raccoon.Ninja.TestHelpers/MockClasses/Handlers/DoNothingMockCalculator.cs diff --git a/Raccoon.Ninja.Domain.Core.Tests/Calculators/Abstractions/BaseCalculatorHandlerTests.cs b/Raccoon.Ninja.Domain.Core.Tests/Calculators/Abstractions/BaseCalculatorHandlerTests.cs index 78b996b..b3b6202 100644 --- a/Raccoon.Ninja.Domain.Core.Tests/Calculators/Abstractions/BaseCalculatorHandlerTests.cs +++ b/Raccoon.Ninja.Domain.Core.Tests/Calculators/Abstractions/BaseCalculatorHandlerTests.cs @@ -1,6 +1,7 @@ using Raccoon.Ninja.Domain.Core.Calculators; using Raccoon.Ninja.Domain.Core.Calculators.Abstractions; using Raccoon.Ninja.Domain.Core.Calculators.Handlers; +using Raccoon.Ninja.TestHelpers; using Raccoon.Ninja.TestHelpers.MockClasses.Handlers; namespace Raccoon.Ninja.Domain.Core.Tests.Calculators.Abstractions; @@ -38,4 +39,22 @@ public void HandleNext_WithMultipleHandlers_ShouldCallNextHandler() // Assert result.Average.Should().Be(expectedAverage); } + + [Theory] + [MemberData(nameof(TheoryGenerator.InvalidFloatListsWithNull), MemberType = typeof(TheoryGenerator))] + public void HandleNext_WhenDataIsInvalid_ShouldReturnError(IList glucoseReadings) + { + // Arrange + var data = Generators.CalculationDataMockSingle(glucoseReadings); + var handler = new DoNothingMockCalculator(); + + // Act + var result = handler.Handle(data); + + // Assert + var status = result.Status; + status.Success.Should().BeFalse(); + status.FirstFailedStep.Should().Be(nameof(DoNothingMockCalculator)); + status.Message.Should().Be("No glucose values were provided."); + } } \ No newline at end of file diff --git a/Raccoon.Ninja.TestHelpers/MockClasses/Handlers/DoNothingMockCalculator.cs b/Raccoon.Ninja.TestHelpers/MockClasses/Handlers/DoNothingMockCalculator.cs new file mode 100644 index 0000000..a1af3a7 --- /dev/null +++ b/Raccoon.Ninja.TestHelpers/MockClasses/Handlers/DoNothingMockCalculator.cs @@ -0,0 +1,12 @@ +using Raccoon.Ninja.Domain.Core.Calculators; +using Raccoon.Ninja.Domain.Core.Calculators.Abstractions; + +namespace Raccoon.Ninja.TestHelpers.MockClasses.Handlers; + +public class DoNothingMockCalculator: BaseCalculatorHandler +{ + protected override CalculationData RunCalculation(CalculationData data) + { + return data; + } +} \ No newline at end of file