Пример #1
0
def test_Statistics(capsys):
    """Testing entity Statistics"""
    oxygen = entity.MeasurementStatistics()
    pulse = entity.MeasurementStatistics()
    blood_pressure_systolic = entity.MeasurementStatistics()
    blood_pressure_diastolic = entity.MeasurementStatistics()

    s = entity.Statistics(oxygen, pulse, blood_pressure_systolic,
                          blood_pressure_diastolic)
    assert s.oxygen == oxygen
    assert s.pulse == pulse
    assert s.blood_pressure_systolic == blood_pressure_systolic
    assert s.blood_pressure_diastolic == blood_pressure_diastolic
Пример #2
0
def test_pulse_analysis9(capsys):
    """Testing pulse_analysis"""
    stats = entity.MeasurementStatistics()
    assert stats.life_threatening_count == 0
    assert entity.StatusEnum.LIFE_THREATENING == processor.pulse_analysis(
        229, stats)
    assert stats.life_threatening_count == 1
Пример #3
0
def main(argv: List[str]):
    csv_location = None  # type: str
    try:
        csv_location = argv_parser.parse(argv, "--path")
    except:
        print_help()
        sys.exit(1)
        return

    # Create statistics
    oxygen_ms = entity.MeasurementStatistics()
    pulse_ms = entity.MeasurementStatistics()
    blood_pressure_systolic_ms = entity.MeasurementStatistics()
    blood_pressure_diastolic_ms = entity.MeasurementStatistics()
    statistics = entity.Statistics(oxygen_ms, pulse_ms,
                                   blood_pressure_systolic_ms,
                                   blood_pressure_diastolic_ms)
    number_of_measurements = 0
    try:
        recording = None  # type: entity.FileRecording
        try:
            recording = entity.FileRecording(csv_location).get_iterator()
        except:
            print_help()
            sys.exit(1)
            return

        while True:
            m = None  # type: entity.Measurement
            try:
                m = recording.__next__(make_invalid_measurement_missing=True)
            except StopIteration:
                break

            measurement_results = processor.processing_agent(m, statistics)
            result_string = output_parser.format_status(measurement_results)
            print(result_string, flush=True)
            logger.log(result_string)
            number_of_measurements += 1
            wait_on_new_measurement()
    except KeyboardInterrupt:
        # When someone wants to stop the program prematurely.
        pass
    statistics_string = output_parser.format_statistics(statistics)
    print(statistics_string, flush=True)
    logger.log(statistics_string)
    print(f"Processed {number_of_measurements} measurements")
Пример #4
0
def test_MeasurementStatistics(capsys):
    """Testing entity MeasurementStatistics"""
    ms = entity.MeasurementStatistics()

    assert ms.ok_count == 0
    assert ms.missing_count == 0
    assert ms.minor_count == 0
    assert ms.major_count == 0
    assert ms.life_threatening_count == 0
Пример #5
0
def test_MeasurementStatistics2(capsys):
    """Testing entity MeasurementStatistics"""
    ms = entity.MeasurementStatistics(10, 11, 12, 13, 14)

    data = entity.StatusEnum.__dict__
    for k in data:
        if k.startswith("_"):
            continue
        prev_value = ms.__getattribute__(k.lower() + "_count")
        ms.increment(data[k])
        assert prev_value == ms.__getattribute__(k.lower() + "_count") - 1
Пример #6
0
def test_processing_agent1(capsys):
    m = entity.Measurement()
    statistics = entity.Statistics(entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics())
    assert m.blood_pressure_diastolic is None
    assert m.blood_pressure_systolic is None
    assert m.oxygen is None
    assert m.pulse is None
    measurement_results = processor.processing_agent(
        m, statistics)  # entity.MeasurementResult
    assert measurement_results.m == m
    assert measurement_results.m.blood_pressure_diastolic is None
    assert measurement_results.m.blood_pressure_systolic is None
    assert measurement_results.m.oxygen is None
    assert measurement_results.m.pulse is None
    assert measurement_results.blood_pressure_diastolic_status == entity.StatusEnum.MISSING
    assert measurement_results.blood_pressure_systolic_status == entity.StatusEnum.MISSING
    assert measurement_results.oxygen_status == entity.StatusEnum.MISSING
    assert measurement_results.pulse_status == entity.StatusEnum.MISSING
Пример #7
0
def test_processing_agent2(capsys):
    m = entity.Measurement(95, 90, 100, 70)
    statistics = entity.Statistics(entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics(),
                                   entity.MeasurementStatistics())
    assert m.blood_pressure_diastolic == 70
    assert m.blood_pressure_systolic == 100
    assert m.oxygen == 95
    assert m.pulse == 90
    measurement_results = processor.processing_agent(
        m, statistics)  # entity.MeasurementResult
    assert measurement_results.m == m
    assert measurement_results.m.blood_pressure_diastolic == 70
    assert measurement_results.m.blood_pressure_systolic == 100
    assert measurement_results.m.oxygen == 95
    assert measurement_results.m.pulse == 90
    assert measurement_results.blood_pressure_diastolic_status == entity.StatusEnum.OK
    assert measurement_results.blood_pressure_systolic_status == entity.StatusEnum.OK
    assert measurement_results.oxygen_status == entity.StatusEnum.OK
    assert measurement_results.pulse_status == entity.StatusEnum.OK
Пример #8
0
def test_format_statistics(capsys):
    oxygen = entity.MeasurementStatistics(1, 2, 3, 4, 5)
    pulse = entity.MeasurementStatistics(10, 20, 30, 40, 50)
    bps = entity.MeasurementStatistics(100, 200, 300, 400, 500)
    bpd = entity.MeasurementStatistics(100, 200, 300, 400, 500)
    s = entity.Statistics(oxygen, pulse, bps, bpd)
    output = output_parser.format_statistics(s)
    assert "1;" in output
    assert "2;" in output
    assert "3;" in output
    assert "4;" in output
    assert "5" in output
    assert "10;" in output
    assert "20;" in output
    assert "30;" in output
    assert "40;" in output
    assert "50" in output
    assert "100;" in output
    assert "200;" in output
    assert "300;" in output
    assert "400;" in output
    assert "500" in output
Пример #9
0
def test_oxygen_analysis20(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    assert stats.ok_count == 0
    assert stats.minor_count == 0
    assert stats.major_count == 0
    assert stats.life_threatening_count == 0
    assert stats.missing_count == 0

    assert processor.oxygen_analysis(100, stats) == entity.StatusEnum.OK

    assert stats.missing_count == 0
    assert stats.ok_count == 1
    assert stats.minor_count == 0
    assert stats.major_count == 0
    assert stats.life_threatening_count == 0
Пример #10
0
def test_oxygen_analysis1(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    assert stats.ok_count == 0
    assert stats.minor_count == 0
    assert stats.major_count == 0
    assert stats.life_threatening_count == 0
    assert stats.missing_count == 0

    assert entity.StatusEnum.MISSING == processor.oxygen_analysis(-1, stats)

    assert stats.ok_count == 0
    assert stats.minor_count == 0
    assert stats.major_count == 0
    assert stats.life_threatening_count == 0
    assert stats.missing_count == 1
Пример #11
0
def test_pulse_analysis114(capsys):
    """Testing test_pulse_analysis_determine"""
    stats = entity.MeasurementStatistics()
    res = processor.pulse_analysis(39, stats)
    assert stats.life_threatening_count == 1
    assert res == entity.StatusEnum.LIFE_THREATENING
Пример #12
0
def test_diastolic_blood_analysis9(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    res = processor.blood_pressure_diastolic_analysis(85, stats)
    assert stats.minor_count == 1
    assert res == entity.StatusEnum.MINOR
Пример #13
0
def test_pulse_analysis116(capsys):
    """Testing test_pulse_analysis_determine"""
    stats = entity.MeasurementStatistics()
    res = processor.pulse_analysis(59, stats)
    assert stats.minor_count == 1
    assert res == entity.StatusEnum.MINOR
Пример #14
0
def test_pulse_analysis10(capsys):
    """Testing pulse_analysis"""
    stats = entity.MeasurementStatistics()
    assert stats.missing_count == 0
    assert entity.StatusEnum.MISSING == processor.pulse_analysis(231, stats)
    assert stats.missing_count == 1
Пример #15
0
def test_systolic_blood_analysis6(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    res = processor.blood_pressure_systolic_analysis("asd", stats)
    assert stats.missing_count == 1
    assert res == entity.StatusEnum.MISSING
Пример #16
0
def test_systolic_blood_analysis13(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    res = processor.blood_pressure_systolic_analysis(190, stats)
    assert stats.life_threatening_count == 1
    assert res == entity.StatusEnum.LIFE_THREATENING
Пример #17
0
def test_systolic_blood_analysis11(capsys):
    """Testing oxygen_analysis"""
    stats = entity.MeasurementStatistics()
    res = processor.blood_pressure_systolic_analysis(50, stats)
    assert stats.major_count == 1
    assert res == entity.StatusEnum.MAJOR