def test_run_2(): # test multicore with star progressing into 2 stars running multiprocess # * # | | <- split into 2 # * * bf = sf.Formation() input = sf.Star() bf.add(input) input.link(CStar(custom)) input.link(sf.Star()) outputs = bf.mp_run("test", 4) assert outputs[0] == [1, 2, 3] assert outputs[1] == "test"
def test_run_3(): # Same as multicore_1 but many many layers bf = sf.Formation() input = sf.Star() bf.add(input) attach_to_star(input, 10) outputs = bf.mp_run(1, 4) assert bf.run(1) == bf.run(1, 4)
def test_run_2(): # Test multi processing # MultiProcess can be slower from overhead(add is fast) bf = sf.Formation() input = sf.Star() bf.add(input) attach_to_star(input, 1) outputs = bf.mp_run(1, 4) assert outputs == [3, 1, 1, -1]
def test_bind_2(): # Check if bind() works bf = sf.Formation() bf.add(sf.Star().bind(1)) bf.add(sf.Star()) assert bf.run()[0] == 1
def test_run_1(): # test single star bf = sf.Formation() bs = sf.Star() bf.add(bs) assert bf.run("test")[0] == "test"
def test_CStar_2(): # test 2 stars bf = sf.Formation() bf.add(sf.Star()) bf.add(CStar(lambda x: [1, 2, 3])) assert bf.run("test")[0] == [1, 2, 3]
def test_bind_3(): # Check if bind() works bf = sf.Formation() bf.add(sf.Star().bind([1, 2, 3])) bf.add(sf.Star()) assert bf.run()[0] == [1, 2, 3]