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
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
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)
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)
#!/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'], )