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_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.schedulers.Singlethreaded(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)
def test_constant(): print "test running.." plasm = ecto.Plasm() c = ecto.Constant(value=0.50505) m = ecto_test.Multiply(factor=3.3335) passthrough = ecto_test.PassthroughAny() print passthrough.__doc__ print ">>>>DOC>>>>", c.__doc__ pr = ecto_test.Printer() p = ecto.Plasm() plasm.connect(c[:] >> m[:], m[:] >> passthrough[:], passthrough[:] >> pr[:]) plasm.execute() assert m.outputs.out == (0.50505 * 3.3335) plasm.execute() assert m.outputs.out == (0.50505 * 3.3335)
#!/usr/bin/python import ecto import 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'], )