csys: test re-positionings and other minor improvements
This commit is contained in:
parent
8e79c80470
commit
dee9cb6a6f
3 changed files with 16 additions and 17 deletions
|
|
@ -4,6 +4,7 @@ import Config
|
||||||
|
|
||||||
config :logger, :default_formatter,
|
config :logger, :default_formatter,
|
||||||
format: "$date $time [$level] $metadata $message\n",
|
format: "$date $time [$level] $metadata $message\n",
|
||||||
|
colors: [enabled: false],
|
||||||
metadata: [:mfa]
|
metadata: [:mfa]
|
||||||
|
|
||||||
import_config "#{config_env()}.exs"
|
import_config "#{config_env()}.exs"
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ alias Scopes.CSys
|
||||||
data = Shape.data(msg)
|
data = Shape.data(msg)
|
||||||
state = CSys.state(scope)
|
state = CSys.state(scope)
|
||||||
value_n = state.value + data.value
|
value_n = state.value + data.value
|
||||||
Logger.info([data: data.value, state: state.value, threshold: state.threshold])
|
Logger.info data: data.value, state: state.value, threshold: state.threshold
|
||||||
if value_n >= state.threshold do
|
if value_n >= state.threshold do
|
||||||
msg = Shape.create(Shape.head(msg), data: %{data | value: value_n})
|
msg = Shape.create(Shape.head(msg), data: %{data | value: value_n})
|
||||||
CSys.forward(msg, scope) || CSys.notify(msg, scope)
|
CSys.forward(msg, scope) || CSys.notify(msg, scope)
|
||||||
|
|
@ -144,4 +144,12 @@ alias Scopes.CSys
|
||||||
end
|
end
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def init_recursive_1() do [
|
||||||
|
fn [zero] ->
|
||||||
|
CSys.send_message(zero, ~w(csys connect)a, %{target: zero, op: negate()})
|
||||||
|
CSys.send_message(zero, ~w(csys create succ)a, %{name: ~w(csys e01 001)a})
|
||||||
|
end
|
||||||
|
]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,8 @@ defmodule Scopes.CSysTest do
|
||||||
Shape.data(receive_select(head))
|
Shape.data(receive_select(head))
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "basic:" do
|
describe "basic-program:" do
|
||||||
test "minimal-neural-net" do
|
test "minimal-b1" do
|
||||||
_env = Environ.setup(Program.prepare_basic(), Program.init_seq_b1())
|
_env = Environ.setup(Program.prepare_basic(), Program.init_seq_b1())
|
||||||
zero = receive_data(~w(csys created)a).new
|
zero = receive_data(~w(csys created)a).new
|
||||||
CSys.send_value(zero, 0)
|
CSys.send_value(zero, 0)
|
||||||
|
|
@ -25,7 +25,7 @@ defmodule Scopes.CSysTest do
|
||||||
one = receive_data(~w(csys created)a).new
|
one = receive_data(~w(csys created)a).new
|
||||||
_two = receive_data(~w(csys created)a).new
|
_two = receive_data(~w(csys created)a).new
|
||||||
three = receive_data(~w(csys created)a).new
|
three = receive_data(~w(csys created)a).new
|
||||||
Process.sleep(50)
|
Process.sleep(10)
|
||||||
CSys.send_value(one, 1)
|
CSys.send_value(one, 1)
|
||||||
assert receive_data().value == 1
|
assert receive_data().value == 1
|
||||||
#assert receive_data().value in [-1, 1]
|
#assert receive_data().value in [-1, 1]
|
||||||
|
|
@ -34,22 +34,12 @@ defmodule Scopes.CSysTest do
|
||||||
assert receive_data().value in [2, 3]
|
assert receive_data().value in [2, 3]
|
||||||
refute_received msg, "unhandled message(s): #{inspect(msg)}"
|
refute_received msg, "unhandled message(s): #{inspect(msg)}"
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
def init_recursive_1() do [
|
test "recursive-1" do
|
||||||
fn [zero] ->
|
_env = Environ.setup(Program.prepare_basic(), Program.init_recursive_1())
|
||||||
CSys.send_message(zero, ~w(csys connect)a, %{target: zero, op: Program.negate()})
|
|
||||||
CSys.send_message(zero, ~w(csys create succ)a)
|
|
||||||
end
|
|
||||||
]
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "recursive:" do
|
|
||||||
test "zero + effector" do
|
|
||||||
_env = Environ.setup(Program.prepare_basic(), init_recursive_1())
|
|
||||||
zero = receive_data(~w(csys created)a).new
|
zero = receive_data(~w(csys created)a).new
|
||||||
_eff = receive_data(~w(csys created)a).new
|
_eff = receive_data(~w(csys created)a).new
|
||||||
Process.sleep(50)
|
Process.sleep(10)
|
||||||
CSys.send_value(zero, 42)
|
CSys.send_value(zero, 42)
|
||||||
assert receive_data().value == 42
|
assert receive_data().value == 42
|
||||||
refute_received msg, "unhandled message(s): #{inspect(msg)}"
|
refute_received msg, "unhandled message(s): #{inspect(msg)}"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue