Exemplo n.º 1
0
def test_reconnect():
    plasm = ecto.Plasm()
    g = ecto_test.Generate(start=2, step=2)    
    m = ecto_test.Multiply(factor=2)
    m2 = ecto_test.Multiply(factor=2)
    gather = ecto_test.Gather_double(n=2)
    plasm.connect(g, "out", m , "in")
    plasm.connect(g, "out", m2 , "in")
    try:
        plasm.connect(m2,"out",m,"in")
        util.fail("reconnection bad...")
    except RuntimeError,e:
        pass
Exemplo n.º 2
0
def makeplasm(N):
    plasm = ecto.Plasm()
    gen = ecto_test.Generate(start=1, step=1)
    thrower = ecto_test.ThrowAfter(N=N)
    mult = ecto_test.Multiply()

    plasm.connect(gen[:] >> thrower[:], thrower[:] >> mult[:])

    return plasm
Exemplo n.º 3
0
def test_constant():
    print "test running.."
    c = ecto.Constant(value=0.50505)
    m = ecto_test.Multiply(factor=3.3335)
    print ">>>>DOC>>>>", c.__doc__
    pr = ecto_test.Printer()

    plasm = ecto.Plasm()
    plasm.connect(c[:] >> m[:], m[:] >> pr[:])

    plasm.execute()

    assert m.outputs.out == (0.50505 * 3.3335)
    plasm.execute()

    assert m.outputs.out == (0.50505 * 3.3335)
Exemplo n.º 4
0
def test_one_to_many():
    plasm = ecto.Plasm()
    g = ecto_test.Generate(start=2, step=2)
    modules = []
    for x in range(0,5):
        m = ecto_test.Multiply(factor=2)
        plasm.connect(g,"out",m,"in")
        modules.append(m)
        
    sched = ecto.Scheduler(plasm)
    sched.execute(niter=1)
    for x in modules:
        #print x.outputs.out
        assert(x.outputs.out == 4)
    sched.execute(niter=1)
    for x in modules:
        #print x.outputs.out
        assert(x.outputs.out == 8)
Exemplo n.º 5
0
#!/usr/bin/python
import ecto
import ecto.ecto_test as ecto_test

plasm = ecto.Plasm()

gen = ecto_test.Generate()
inc = ecto_test.Increment()
mul = ecto_test.Multiply()
add = ecto_test.Add()

plasm.connect(gen[:] >> inc[:],
              gen[:] >> mul[:],
              mul[:] >> add['left'],
              inc[:] >> add['right'],
              )