Example #1
0
        public void Classification_GivenADecibalValue_ReturnsExpectedClassification(int value,
                                                                                    HearingLoss expectedClassification)
        {
            var result = AudiogramDatapoint.Build(value);
            var interp = new AudiogramDataPointClassification(result);

            Assert.Equal(expectedClassification, interp.Classification);
        }
Example #2
0
 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));
 }
Example #3
0
        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;
 }