public void Classification_GivenADecibalValue_ReturnsExpectedClassification(int value, HearingLoss expectedClassification) { var result = AudiogramDatapoint.Build(value); var interp = new AudiogramDataPointClassification(result); Assert.Equal(expectedClassification, interp.Classification); }
public static Interval <int> GetRange( HearingLoss classification) { if (classification == HearingLoss.None) { return(new Interval <int>(0, 20)); } if (classification == HearingLoss.Mild) { return(new Interval <int>(21, 40)); } if (classification == HearingLoss.Moderate) { return(new Interval <int>(41, 60)); } return(classification == HearingLoss.Severe ? new Interval <int>(61, 80) : new Interval <int>(81, 200)); }
public void Classify_GivenAValueAboveNormal_ReturnsCorrectClassification(int testValue, HearingLoss expectedClassification) { var rand = new Random(); var audiogramSet = AudiogramDatasetBuilder .Initialize() .Set125HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set250HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set500HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set1000HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set2000HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set3000HertzDataPoint(testValue) // Always have at least one trigger .Set4000HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set6000HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Set8000HertzDataPoint(SetValueInEitherNormalRangeOrToTestValue(rand, testValue)) .Build(); var result = audiogramSet; var interp = new AudiogramDatasetClassification(result); Assert.Equal(expectedClassification, interp.Classification); }
public void Classification_GivenOneWorseSide_ReturnsCorrectLateralityAndClassification(int leftVal, int rightVal, Laterality expectedLaterality, HearingLoss expectedHearingLoss) { var leftSet = new AudiogramDatasetBuilder() .Set500HertzDataPoint(leftVal) .Build(); var rightSet = new AudiogramDatasetBuilder() .Set1000HertzDataPoint(rightVal) .Build(); var result = new AudiogramClassification(Audiogram.Build(leftSet, rightSet)).Classification; Assert.Equal(expectedLaterality, result.Laterality); Assert.Equal(expectedHearingLoss, result.Classification); }
public AudiogramClassificationResult(HearingLoss classification, Laterality laterality, Laterality worseSide) { Classification = classification; Laterality = laterality; WorseSide = worseSide; }