diff --git a/test/csys_test.exs b/test/csys_test.exs index 2aa026a..cf97963 100644 --- a/test/csys_test.exs +++ b/test/csys_test.exs @@ -16,25 +16,37 @@ defmodule Scopes.CSysTest do Shape.data(receive_select(head)) end + def init_seq() do [ + fn [zero | _ns] -> CSys.send_message(zero, [:csys, :create, :pred], + %{op: [CSys.data_only(), Program.negate()]}) end, + fn [one | _ns] -> CSys.send_message(one, [:csys, :create, :succ], + %{op: CSys.data_only()}) end, + fn [two | _ns] -> CSys.send_message(two, [:csys, :create, :pred]) end, + fn [three | others] -> + zero = List.last(others) + CSys.send_message(three, [:csys, :connect], %{target: zero}) + end + ] + end + describe "basic:" do test "minimal-neural-net" do - _env = Environ.setup(Program.prepare_basic()) + _env = Environ.setup(Program.prepare_basic(), init_seq()) zero = receive_data([:csys, :created]).new CSys.send_value(zero, 0) assert 0 = receive_data().value - CSys.send_message(zero, [:csys, :create, :pred], - %{op: [CSys.data_only(), Program.negate()]}) + #CSys.send_message(zero, [:csys, :create, :pred], + # %{op: [CSys.data_only(), Program.negate()]}) one = receive_data([:csys, :created]).new - CSys.send_message(one, [:csys, :create, :succ], %{op: CSys.data_only()}) - two = receive_data([:csys, :created]).new - Process.sleep(1) + #CSys.send_message(one, [:csys, :create, :succ], %{op: CSys.data_only()}) + _two = receive_data([:csys, :created]).new + #CSys.send_message(two, [:csys, :create, :pred]) + three = receive_data([:csys, :created]).new + #CSys.send_message(three, [:csys, :connect], %{target: zero}) + Process.sleep(3) CSys.send_value(one, 1) assert receive_data().value == 1 #assert receive_data().value in [-1, 1] - CSys.send_message(two, [:csys, :create, :pred]) - three = receive_data([:csys, :created]).new - CSys.send_message(three, [:csys, :connect], %{target: zero}) - Process.sleep(3) CSys.send_value(three, 3) assert receive_data().value in [2, 3] assert receive_data().value in [2, 3]