Пример #1
0
def test_saveSimpleObject():
    item = FixedArrivalDistribution(3)

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        itemKey = 'testitem'
        dataEnv.save(item, itemKey)
        copy = dataEnv.load(itemKey)
    assert (copy == item)
Пример #2
0
def test_saveEmptyFrozenHistory():
    history = SimulationHistory().frozen()

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        key = 'test'
        dataEnv.save(history, key)
        copy = dataEnv.load(key)

    assert(copy == history)
Пример #3
0
def test_saveSmallSimulatorState():
    state = SimulatorState(10, [], [])

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        key = 'test'
        dataEnv.save(state, key)
        copy = dataEnv.load(key)

    assert(copy == state)
Пример #4
0
def test_saveTaskset():
    t1 = Task(1, 2, FixedArrivalDistribution(3), LogPreemptionCost(1, 0.1))
    t2 = Task(4, 5, PoissonArrivalDistribution(6, 2), FixedPreemptionCost(3))
    taskset = Taskset(t1, t2)

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        tasksetKey = 'testtaskset'
        dataEnv.save(taskset, tasksetKey)
        copy = dataEnv.load(tasksetKey)
    assert(copy == taskset)
Пример #5
0
def test_saveSmallFrozenHistory():
    history = SimulationHistory()
    history.addState(SimulatorState(10, [], []))
    frozen = history.frozen()

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        key = 'test'
        dataEnv.save(frozen, key)
        copy = dataEnv.load(key)

    assert(copy == frozen)
Пример #6
0
def test_saveSimulationSetup():
    t1 = Task(1, 2, FixedArrivalDistribution(3), displayName='t1')
    t2 = Task(4, 5, FixedArrivalDistribution(6), displayName='t2')
    taskset = Taskset(t1, t2)
    setup = SimulationSetup(taskset, time=200)

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        key = 'test'
        dataEnv.save(setup, key)
        copy = dataEnv.load(key)
    assert(copy == setup)
Пример #7
0
def test_simulationResult():
    t1 = Task(1, 2, FixedArrivalDistribution(3), LogPreemptionCost(1, 0.1),
              displayName='t1')
    t2 = Task(4, 5, PoissonArrivalDistribution(6, 2), FixedPreemptionCost(3),
              displayName='t2')
    taskset = Taskset(t1, t2)
    setup = SimulationSetup(taskset, time=200)
    run = SimulationRun(setup)
    result = run.result()

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir)
        key = 'test'
        dataEnv.save(result, key)
        copy = dataEnv.load(key)
    assert(copy == result)
Пример #8
0
def test_inventoryLoading():
    item1 = FixedArrivalDistribution(3)
    item2 = FixedPreemptionCost(2)

    with TemporaryDirectory() as testdir:
        dataEnv = FileEnv(testdir, manifest=True)
        item1Key = 'testitem1'
        item2Key = 'testitem2'
        itemSet = {(item1Key, item1),
                   (item2Key, item2)}
        dataEnv.save(item1, item1Key)
        dataEnv.save(item2, item2Key)

        dataEnv2 = FileEnv(testdir, manifest=True)
        copySet = set(dataEnv2.items())
        assert (copySet == itemSet)
        assert (dataEnv2.keys() == {item1Key, item2Key})