Files
vigilcare-clinical/VigilCareClinicalAPI.Tests/SirsEvaluatorTests.cs
T

30 lines
1.2 KiB
C#

using FluentAssertions;
public class SirsEvaluatorTests
{
[Theory]
[InlineData("TEMP_C", 38.4, true)] // fever
[InlineData("TEMP_C", 35.9, true)] // hypothermia
[InlineData("TEMP_C", 37.0, false)] // normal
[InlineData("HEART_RATE", 91, true)]
[InlineData("HEART_RATE", 90, false)] // boundary: 90 is NOT tachycardia (> not >=)
[InlineData("RESP_RATE", 21, true)]
[InlineData("RESP_RATE", 20, false)] // boundary
[InlineData("WBC_K_UL", 12.1, true)] // leukocytosis
[InlineData("WBC_K_UL", 3.9, true)] // leukopenia
[InlineData("WBC_K_UL", 8.0, false)] // normal
[InlineData("POTASSIUM_MEQ_L", 4.0, false)] // not a SIRS code
public void MeetsCriterion_ReturnsExpected(string code, double value, bool expected)
{
SirsEvaluator.MeetsCriterion(code, (decimal)value).Should().Be(expected);
}
[Fact]
public void AllCriterionKeys_ReturnsFourKeys_AllDistinct()
{
var id = Guid.NewGuid();
var keys = SirsEvaluator.AllCriterionKeys(id);
keys.Should().HaveCount(4);
keys.Select(k => k.ToString()).Should().OnlyHaveUniqueItems();
}
}