csys: Environ initialization sequence basically working
This commit is contained in:
parent
38207ab8d9
commit
b223400225
1 changed files with 22 additions and 10 deletions
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue