Ejemplo n.º 1
0
def test_calc_speed():
    # 128 bytes at 1 fps is 1184 bps
    assert calc_speed(1, 128) == 1184
    # adding a byte adds 8 bits
    assert calc_speed(1, 129) == 8 + calc_speed(1, 128)
    # multiplying fps multiplies the result
    assert calc_speed(1000, 128) == 1000 * calc_speed(1, 128)
Ejemplo n.º 2
0
def test_check_max_speed():
    # starting with 0 confidence should always return 0 confidence
    assert check_max_speed(10000, 64, 1000**3, Confidence(0.0)).percent == 0.0

    # no fps should have no effect on confidence
    assert check_max_speed(0, 64, 1000**2,  Confidence(99.0)).percent == 99.0
    assert check_max_speed(0, 1000, 1000**2, Confidence(62.0)).percent == 62.0

    # oversubscribed means no confidence
    assert check_max_speed(1000, 1024, calc_speed(1000, 1024) - 1,
                           Confidence(100.0)).percent == 0.0

    # undersubscribed means no change to confidence
    assert check_max_speed(1000, 1024, calc_speed(1000, 1024) * 2,
                           Confidence(75.0)).percent == 75.0
Ejemplo n.º 3
0
def test_check_max_speed_reasons():
    # starting with a reason should return that reason (maybe with additions)
    assert "foo" in check_max_speed(1, 64, 1000**3,
                                    Confidence(reason="foo")).reason
    assert "foo" in check_max_speed(1000, 100, calc_speed(1000, 100)/2,
                                    Confidence(reason="foo")).reason

    # no fps should have no effect on reason
    assert check_max_speed(0, 64, 1000**2,
                           Confidence(99.0, "foo")).reason == "foo"
    assert check_max_speed(0, 1000, 1000**2,
                           Confidence(62.0, "foo")).reason == "foo"

    # oversubscribed means no confidence and a reason
    reason = check_max_speed(1000, 1024, calc_speed(1000, 1024) - 1,
                             Confidence()).reason

    assert "rate" in reason
    assert "max" in reason

    # undersubscribed means no effect on reason
    assert check_max_speed(1000, 1024, calc_speed(1000, 1024) * 2,
                           Confidence(75.0, "foo")).reason == "foo"