Пример #1
0
def test_cloud__simulate_queue_01():
    arate = 1
    srate = 2
    duration = 10
    pitches = [0]
    cloud = pang.Cloud(
        arate=arate,
        srate=srate,
        pitches=pitches,
        duration=duration,
        queue_type="M/M/1",
        rest_threshold=0.0,
    )

    number_of_notes = cloud.number_of_notes
    assert number_of_notes == duration * arate

    cloud._instances = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    cloud._durations = [2.1, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
    cloud._simulate_queue()
    np.testing.assert_almost_equal(
        cloud.durations_per_server[0],
        [
            2.1,
            0.5,
            0.5,
            0.5,
            0.4,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
        ],
    )

    assert cloud.pitches_per_server[0] == [
        0,
        0,
        0,
        0,
        None,
        0,
        None,
        0,
        None,
        0,
        None,
        0,
        None,
        0,
        None,
        0,
    ]
Пример #2
0
def test_cloud___init___02():
    cloud = pang.Cloud(arate=1, srate=1, duration=10, queue_type="D/D/1")
    assert cloud.number_of_notes == 10
    np.testing.assert_almost_equal(
        cloud.arrival_instances,
        [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    )
    np.testing.assert_almost_equal(
        cloud.durations,
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    )
Пример #3
0
def test_cloud__simulate_queue_04():
    arate = 1
    srate = 2
    duration = 10
    pitches = [0]
    cloud = pang.Cloud(
        arate=arate,
        srate=srate,
        pitches=pitches,
        duration=duration,
        queue_type="M/M/1",
        rest_threshold=0.0,
    )

    number_of_notes = cloud.number_of_notes
    assert number_of_notes == duration * arate

    cloud._instances = [1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9]
    cloud._durations = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
    assert len(cloud.arrival_instances) == len(cloud.durations)
    cloud._simulate_queue()
    np.testing.assert_almost_equal(
        cloud.durations_per_server[0],
        [
            1,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
            0.5,
        ],
    )

    assert cloud.pitches_per_server[0] == [
        None,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
    ]
Пример #4
0
def test_cloud___init___01():
    cloud = pang.Cloud()
    assert cloud.arrival_model == "M"
    assert cloud.service_model == "M"