spnet 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/README.rdoc +6 -3
  2. data/lib/spnet.rb +23 -5
  3. data/lib/spnet/core/block.rb +46 -0
  4. data/lib/spnet/core/in_port.rb +41 -0
  5. data/lib/spnet/core/limiter.rb +30 -0
  6. data/lib/spnet/core/link.rb +70 -0
  7. data/lib/spnet/core/network.rb +54 -0
  8. data/lib/spnet/core/out_port.rb +41 -0
  9. data/lib/spnet/limiters/enum_limiter.rb +24 -0
  10. data/lib/spnet/limiters/lower_limiter.rb +31 -0
  11. data/lib/spnet/limiters/no_limiter.rb +11 -0
  12. data/lib/spnet/limiters/range_limiter.rb +24 -0
  13. data/lib/spnet/limiters/upper_limiter.rb +31 -0
  14. data/lib/spnet/ports/command_in_port.rb +16 -8
  15. data/lib/spnet/ports/command_out_port.rb +17 -11
  16. data/lib/spnet/ports/param_in_port.rb +42 -0
  17. data/lib/spnet/ports/param_out_port.rb +32 -0
  18. data/lib/spnet/ports/signal_in_port.rb +20 -15
  19. data/lib/spnet/ports/signal_out_port.rb +12 -7
  20. data/lib/spnet/storage/block_state.rb +41 -0
  21. data/lib/spnet/storage/link_state.rb +38 -0
  22. data/lib/spnet/storage/network_state.rb +44 -0
  23. data/lib/spnet/storage/port_locater.rb +21 -0
  24. data/lib/spnet/version.rb +2 -1
  25. data/spec/core/block_spec.rb +80 -0
  26. data/spec/core/in_port_spec.rb +46 -0
  27. data/spec/core/limiter_spec.rb +7 -0
  28. data/spec/core/link_spec.rb +103 -0
  29. data/spec/core/network_spec.rb +40 -0
  30. data/spec/core/out_port_spec.rb +46 -0
  31. data/spec/limiters/enum_limiter_spec.rb +28 -0
  32. data/spec/limiters/lower_limiter_spec.rb +48 -0
  33. data/spec/limiters/no_limiter_spec.rb +12 -0
  34. data/spec/limiters/range_limiter_spec.rb +121 -0
  35. data/spec/limiters/upper_limiter_spec.rb +47 -0
  36. data/spec/ports/command_out_port_spec.rb +8 -15
  37. data/spec/ports/{value_in_port_spec.rb → param_in_port_spec.rb} +2 -2
  38. data/spec/ports/param_out_port_spec.rb +34 -0
  39. data/spec/ports/signal_in_port_spec.rb +2 -1
  40. data/spec/ports/signal_out_port_spec.rb +6 -37
  41. data/spec/spec_helper.rb +43 -0
  42. data/spec/storage/block_state_spec.rb +40 -0
  43. data/spec/storage/link_state_spec.rb +28 -0
  44. data/spec/storage/network_state_spec.rb +42 -0
  45. data/spec/storage/port_locater_spec.rb +11 -0
  46. data/spnet.gemspec +0 -1
  47. metadata +55 -35
  48. data/lib/spnet/block.rb +0 -40
  49. data/lib/spnet/in_port.rb +0 -29
  50. data/lib/spnet/out_port.rb +0 -64
  51. data/lib/spnet/ports/value_in_port.rb +0 -27
  52. data/lib/spnet/ports/value_out_port.rb +0 -28
  53. data/spec/block_spec.rb +0 -38
  54. data/spec/in_port_spec.rb +0 -29
  55. data/spec/out_port_spec.rb +0 -46
  56. data/spec/ports/value_out_port_spec.rb +0 -41
@@ -0,0 +1,47 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::UpperLimiter do
4
+ describe '.apply_limit' do
5
+ context 'non-inclusive' do
6
+ before :all do
7
+ @upper = 1
8
+ @limiter = UpperLimiter.new(@upper, false)
9
+ end
10
+
11
+ it 'should return the given value it it is below the upper limit' do
12
+ ok_values = [@upper - Float::EPSILON, @upper / 2.0]
13
+ limited_values = ok_values.map { |value| @limiter.apply_limit value }
14
+ limited_values.should eq(ok_values)
15
+ end
16
+
17
+ it 'should return the upper limit + Float::EPSILON if the given value is at or below the upper limit' do
18
+ bad_values = [@upper, @upper + Float::EPSILON, @upper * 2.0]
19
+ limited_values = bad_values.map { |value| @limiter.apply_limit value }
20
+ limited_values.each do |value|
21
+ value.should eq(@upper - Float::EPSILON)
22
+ end
23
+ end
24
+ end
25
+
26
+ context 'inclusive upper limit, non-inclusive upper limit' do
27
+ before :all do
28
+ @upper = 1
29
+ @limiter = UpperLimiter.new(@upper, true)
30
+ end
31
+
32
+ it 'should return the given value it it is at or below the upper limit' do
33
+ ok_values = [@upper, @upper - Float::EPSILON, @upper / 2.0]
34
+ limited_values = ok_values.map { |value| @limiter.apply_limit value }
35
+ limited_values.should eq(ok_values)
36
+ end
37
+
38
+ it 'should return the upper limit if the given value is below the upper limit' do
39
+ bad_values = [@upper + Float::EPSILON, @upper * 2.0]
40
+ limited_values = bad_values.map { |value| @limiter.apply_limit value }
41
+ limited_values.each do |value|
42
+ value.should eq(@upper)
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
- describe SPNet::ValueOutPort do
3
+ describe SPNet::ParamOutPort do
4
4
  before :each do
5
5
  @in_port = SPNet::CommandInPort.new(
6
6
  :command_map => {
@@ -13,27 +13,20 @@ describe SPNet::ValueOutPort do
13
13
  @out_port = SPNet::CommandOutPort.new
14
14
  end
15
15
 
16
- describe '#add_link' do
17
- it 'should raise ArgumentError if port is not ValueInPort' do
18
- @in_port2 = SPNet::SignalInPort.new
19
- lambda { @out_port.add_link(@in_port2) }.should raise_error(ArgumentError)
20
- end
21
- end
22
-
23
16
  describe '#list_commands' do
24
17
  it 'should pass back the return value from the list_commands handler' do
25
- @out_port.add_link @in_port
26
- @out_port.list_commands.should eq([[:add, :sub, :mul, :div]])
18
+ @out_port.set_link Link.new(:from => @out_port, :to => @in_port)
19
+ @out_port.list_commands.should eq([:add, :sub, :mul, :div])
27
20
  end
28
21
  end
29
22
 
30
23
  describe '#exec_command' do
31
24
  it 'should pass the command and data to the exec_command handler, and pass back the return value' do
32
- @out_port.add_link @in_port
33
- @out_port.exec_command(:add, [1,2]).should eq([3])
34
- @out_port.exec_command(:sub, [5,4]).should eq([1])
35
- @out_port.exec_command(:mul, [3,2]).should eq([6])
36
- @out_port.exec_command(:div, [9,3]).should eq([3])
25
+ @out_port.set_link Link.new(:from => @out_port, :to => @in_port)
26
+ @out_port.exec_command(:add, [1,2]).should eq(3)
27
+ @out_port.exec_command(:sub, [5,4]).should eq(1)
28
+ @out_port.exec_command(:mul, [3,2]).should eq(6)
29
+ @out_port.exec_command(:div, [9,3]).should eq(3)
37
30
  end
38
31
  end
39
32
 
@@ -1,6 +1,6 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
- describe SPNet::ValueInPort do
3
+ describe SPNet::ParamInPort do
4
4
  before :each do
5
5
  @value = 0
6
6
 
@@ -12,7 +12,7 @@ describe SPNet::ValueInPort do
12
12
  return @value
13
13
  end
14
14
 
15
- @port = SPNet::ValueInPort.new :get_value_handler => get_value_handler, :set_value_handler => set_value_handler
15
+ @port = SPNet::ParamInPort.new :get_value_handler => get_value_handler, :set_value_handler => set_value_handler
16
16
  end
17
17
 
18
18
  describe '#set_value' do
@@ -0,0 +1,34 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::ParamOutPort do
4
+ before :each do
5
+ @value = 0
6
+
7
+ set_value_handler = lambda do |value|
8
+ return @value = value
9
+ end
10
+
11
+ get_value_handler = lambda do
12
+ return @value
13
+ end
14
+
15
+ @out_port = SPNet::ParamOutPort.new
16
+ @in_port = SPNet::ParamInPort.new :get_value_handler => get_value_handler, :set_value_handler => set_value_handler
17
+ end
18
+
19
+ describe '#set_value' do
20
+ it 'should pass the given value through ParamInPort#set_value' do
21
+ @out_port.set_link Link.new(:to => @in_port, :from => @out_port)
22
+ @out_port.set_value 5
23
+ @value.should eq(5)
24
+ end
25
+ end
26
+
27
+ describe '#get_value' do
28
+ it "should return the value from each linked port's ParamInPort#get_value" do
29
+ @value = 7
30
+ @out_port.set_link Link.new(:to => @in_port, :from => @out_port)
31
+ @out_port.get_value.should eq(7)
32
+ end
33
+ end
34
+ end
@@ -18,7 +18,8 @@ describe SPNet::SignalInPort do
18
18
  end
19
19
 
20
20
  it 'should limit all values before queuing them' do
21
- port = SPNet::SignalInPort.new(:limits => (2.5..5.0))
21
+ limiter = RangeLimiter.new(2.5, true, 5.0, true)
22
+ port = SPNet::SignalInPort.new(:limiter => limiter)
22
23
  port.enqueue_values([2.4, 2.6, 4.9, 5.1])
23
24
  port.queue.each do |value|
24
25
  value.should be_between(2.5, 5.0)
@@ -6,44 +6,13 @@ describe SPNet::SignalOutPort do
6
6
  @in_port = SPNet::SignalInPort.new
7
7
  end
8
8
 
9
- describe '#add_link' do
10
- it 'should raise ArgumentError if port is not input port' do
11
- out_port2 = SPNet::SignalOutPort.new
12
- lambda { @out_port.add_link(out_port2) }.should raise_error(ArgumentError)
13
- end
14
- end
15
-
16
9
  describe '#send_values' do
17
- context 'single linked input port' do
18
- it 'should enqueue the values on the linked input port' do
19
- @out_port.add_link @in_port
20
-
21
- @in_port.queue.should be_empty
22
- @out_port.send_values [1,2,3,4]
23
- @in_port.queue.should eq([1,2,3,4])
24
- end
25
- end
26
-
27
- context 'several linked input ports' do
28
- it 'should enqueue the values on each linked input port' do
29
- in_port1 = SPNet::SignalInPort.new
30
- in_port2 = SPNet::SignalInPort.new(:name => 'def')
31
- in_port3 = SPNet::SignalInPort.new(:name => 'ghi')
32
-
33
- @out_port.add_link in_port1
34
- @out_port.add_link in_port2
35
- @out_port.add_link in_port3
36
-
37
- in_port1.queue.should be_empty
38
- in_port2.queue.should be_empty
39
- in_port3.queue.should be_empty
40
-
41
- @out_port.send_values [1,2,3,4]
42
-
43
- in_port1.queue.should eq([1,2,3,4])
44
- in_port2.queue.should eq([1,2,3,4])
45
- in_port3.queue.should eq([1,2,3,4])
46
- end
10
+ it 'should enqueue the values on the linked input port' do
11
+ @out_port.set_link Link.new(:to => @in_port, :from => @out_port)
12
+
13
+ @in_port.queue.should be_empty
14
+ @out_port.send_values [1,2,3,4]
15
+ @in_port.queue.should eq([1,2,3,4])
47
16
  end
48
17
  end
49
18
 
@@ -2,3 +2,46 @@ require 'rspec'
2
2
  require 'spnet'
3
3
 
4
4
  include SPNet
5
+
6
+ class TestBlock < Block
7
+ attr_reader :value1, :value2
8
+
9
+ def initialize args
10
+ raise ArgumentError, "args does not have :sample_rate key" unless args.has_key?(:sample_rate)
11
+
12
+ @value1 = 1
13
+ @value2 = 2
14
+ @command_history = []
15
+
16
+ input = SignalInPort.new
17
+ output = SignalOutPort.new
18
+
19
+ value1 = ParamInPort.new(
20
+ :get_value_handler => ->(){ @value1 },
21
+ :set_value_handler => ->(a){ @value1 = a},
22
+ )
23
+
24
+ value2 = ParamInPort.new(
25
+ :get_value_handler => ->(){ @value2 },
26
+ :set_value_handler => ->(a){ @value2 = a},
27
+ )
28
+
29
+ command = CommandInPort.new(
30
+ :command_map => {
31
+ "SIT" => ->(a){ @command_history.push("SIT") },
32
+ "STAY" => ->(a){ @command_history.push("STAY") }
33
+ }
34
+ )
35
+
36
+ pass_through = lambda do |count|
37
+ output.send_values input.dequeue_values(count)
38
+ end
39
+
40
+ super(
41
+ :sample_rate => args[:sample_rate],
42
+ :algorithm => pass_through,
43
+ :in_ports => { "IN" => input, "VALUE1" => value1, "VALUE2" => value2, "COMMAND" => command },
44
+ :out_ports => { "OUT" => output }
45
+ )
46
+ end
47
+ end
@@ -0,0 +1,40 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::BlockState do
4
+ describe '.new' do
5
+ it 'should assign block class' do
6
+ block_state = BlockState.new :class_sym => :TestBlock
7
+ block_state.class_sym.should eq(:TestBlock)
8
+ end
9
+
10
+ it 'should assign port params' do
11
+ params = {
12
+ "VALUE1" => 0.0,
13
+ "VALUE2" => 1.0,
14
+ }
15
+ block_state = BlockState.new :class_sym => :TestBlock, :port_params => params
16
+ block_state.port_params.should eq(params)
17
+ end
18
+ end
19
+
20
+ describe '#make_block' do
21
+ before :all do
22
+ @params = {
23
+ "VALUE1" => 0.1,
24
+ "VALUE2" => 0.9,
25
+ }
26
+ @class_sym = :TestBlock
27
+ block_state = BlockState.new :class_sym => @class_sym, :port_params => @params
28
+ @block = block_state.make_block :sample_rate => 2
29
+ end
30
+
31
+ it 'should make a block of the given class type' do
32
+ @block.class.to_s.to_sym.should eq(@class_sym)
33
+ end
34
+
35
+ it 'should make a block using given port params' do
36
+ @block.value1.should eq(@params["VALUE1"])
37
+ @block.value2.should eq(@params["VALUE2"])
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::LinkState do
4
+ describe '.new' do
5
+ it 'should assign from and to port locaters' do
6
+ output = PortLocater.new :block_name => "block_A", :port_name => "OUT"
7
+ input = PortLocater.new :block_name => "block_B", :port_name => "IN"
8
+ link_state = LinkState.new :from => output, :to => input
9
+ link_state.from.should eq(output)
10
+ link_state.to.should eq(input)
11
+ end
12
+ end
13
+
14
+ describe '#make_link' do
15
+ it 'should make a Link object, given good blocks' do
16
+ blocks = {
17
+ "block_A" => TestBlock.new(:sample_rate => 2),
18
+ "block_B" => TestBlock.new(:sample_rate => 2),
19
+ }
20
+ output = PortLocater.new :block_name => "block_A", :port_name => "OUT"
21
+ input = PortLocater.new :block_name => "block_B", :port_name => "IN"
22
+ link_state = LinkState.new :from => output, :to => input
23
+ link = link_state.make_link blocks
24
+ link.from.should eq blocks["block_A"].out_ports["OUT"]
25
+ link.to.should eq blocks["block_B"].in_ports["IN"]
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,42 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::NetworkState do
4
+ describe '.make_network' do
5
+ before :all do
6
+ @network_state = NetworkState.new(
7
+ :block_states => {
8
+ "A" => BlockState.new(:class_sym => :TestBlock, :hashed_args => {}, :port_params => { "VALUE1" => 0.2}),
9
+ "B" => BlockState.new(:class_sym => :TestBlock, :hashed_args => {}, :port_params => { "VALUE1" => 0.4})
10
+ },
11
+ :link_states => [
12
+ LinkState.new(
13
+ :from => PortLocater.new(:block_name => "A", :port_name => "OUT"),
14
+ :to => PortLocater.new(:block_name => "B", :port_name => "IN")
15
+ )
16
+ ]
17
+ )
18
+ end
19
+
20
+ it 'should create blocks for the given block models' do
21
+ network = @network_state.make_network :sample_rate => 4
22
+ network.blocks.should have_key("A")
23
+ network.blocks["A"].class.should be(TestBlock)
24
+ network.blocks.should have_key("B")
25
+ network.blocks["B"].class.should be(TestBlock)
26
+ end
27
+
28
+ it 'should assign values found in :port_params' do
29
+ network = @network_state.make_network :sample_rate => 4
30
+ network.blocks["A"].value1.should eq(0.2)
31
+ network.blocks["B"].value1.should eq(0.4)
32
+ end
33
+
34
+ it 'should create links from :link_states' do
35
+ network = @network_state.make_network :sample_rate => 4
36
+ network.links.count.should be 1
37
+ network.links.first.from.should eq(network.blocks["A"].out_ports["OUT"])
38
+ network.links.first.to.should eq(network.blocks["B"].in_ports["IN"])
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe SPNet::PortLocater do
4
+ describe '.new' do
5
+ it 'should assign block and port name' do
6
+ locater = PortLocater.new :block_name => "block_A", :port_name => "port_A"
7
+ locater.block_name.should eq("block_A")
8
+ locater.port_name.should eq("port_A")
9
+ end
10
+ end
11
+ end
@@ -20,7 +20,6 @@ DESCRIPTION
20
20
  gem.require_paths = ['lib']
21
21
 
22
22
  gem.add_dependency 'hashmake'
23
- gem.add_dependency 'spcore'
24
23
 
25
24
  gem.add_development_dependency 'bundler', '~> 1.0'
26
25
  gem.add_development_dependency 'rake', '~> 0.8'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spnet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-06 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashmake
@@ -27,22 +27,6 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: spcore
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
30
  - !ruby/object:Gem::Dependency
47
31
  name: bundler
48
32
  requirement: !ruby/object:Gem::Requirement
@@ -141,27 +125,51 @@ files:
141
125
  - README.rdoc
142
126
  - Rakefile
143
127
  - lib/spnet.rb
144
- - lib/spnet/block.rb
145
- - lib/spnet/in_port.rb
146
- - lib/spnet/out_port.rb
128
+ - lib/spnet/core/block.rb
129
+ - lib/spnet/core/in_port.rb
130
+ - lib/spnet/core/limiter.rb
131
+ - lib/spnet/core/link.rb
132
+ - lib/spnet/core/network.rb
133
+ - lib/spnet/core/out_port.rb
134
+ - lib/spnet/limiters/enum_limiter.rb
135
+ - lib/spnet/limiters/lower_limiter.rb
136
+ - lib/spnet/limiters/no_limiter.rb
137
+ - lib/spnet/limiters/range_limiter.rb
138
+ - lib/spnet/limiters/upper_limiter.rb
147
139
  - lib/spnet/ports/command_in_port.rb
148
140
  - lib/spnet/ports/command_out_port.rb
141
+ - lib/spnet/ports/param_in_port.rb
142
+ - lib/spnet/ports/param_out_port.rb
149
143
  - lib/spnet/ports/signal_in_port.rb
150
144
  - lib/spnet/ports/signal_out_port.rb
151
- - lib/spnet/ports/value_in_port.rb
152
- - lib/spnet/ports/value_out_port.rb
145
+ - lib/spnet/storage/block_state.rb
146
+ - lib/spnet/storage/link_state.rb
147
+ - lib/spnet/storage/network_state.rb
148
+ - lib/spnet/storage/port_locater.rb
153
149
  - lib/spnet/version.rb
154
- - spec/block_spec.rb
155
- - spec/in_port_spec.rb
156
- - spec/out_port_spec.rb
150
+ - spec/core/block_spec.rb
151
+ - spec/core/in_port_spec.rb
152
+ - spec/core/limiter_spec.rb
153
+ - spec/core/link_spec.rb
154
+ - spec/core/network_spec.rb
155
+ - spec/core/out_port_spec.rb
156
+ - spec/limiters/enum_limiter_spec.rb
157
+ - spec/limiters/lower_limiter_spec.rb
158
+ - spec/limiters/no_limiter_spec.rb
159
+ - spec/limiters/range_limiter_spec.rb
160
+ - spec/limiters/upper_limiter_spec.rb
157
161
  - spec/ports/command_in_port_spec.rb
158
162
  - spec/ports/command_out_port_spec.rb
163
+ - spec/ports/param_in_port_spec.rb
164
+ - spec/ports/param_out_port_spec.rb
159
165
  - spec/ports/signal_in_port_spec.rb
160
166
  - spec/ports/signal_out_port_spec.rb
161
- - spec/ports/value_in_port_spec.rb
162
- - spec/ports/value_out_port_spec.rb
163
167
  - spec/spec_helper.rb
164
168
  - spec/spnet_spec.rb
169
+ - spec/storage/block_state_spec.rb
170
+ - spec/storage/link_state_spec.rb
171
+ - spec/storage/network_state_spec.rb
172
+ - spec/storage/port_locater_spec.rb
165
173
  - spnet.gemspec
166
174
  homepage: https://rubygems.org/gems/spnet
167
175
  licenses:
@@ -178,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
186
  version: '0'
179
187
  segments:
180
188
  - 0
181
- hash: -300528529
189
+ hash: -699340785
182
190
  required_rubygems_version: !ruby/object:Gem::Requirement
183
191
  none: false
184
192
  requirements:
@@ -187,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
195
  version: '0'
188
196
  segments:
189
197
  - 0
190
- hash: -300528529
198
+ hash: -699340785
191
199
  requirements: []
192
200
  rubyforge_project:
193
201
  rubygems_version: 1.8.23
@@ -195,15 +203,27 @@ signing_key:
195
203
  specification_version: 3
196
204
  summary: Provide infrastructure for forming processing networks.
197
205
  test_files:
198
- - spec/block_spec.rb
199
- - spec/in_port_spec.rb
200
- - spec/out_port_spec.rb
206
+ - spec/core/block_spec.rb
207
+ - spec/core/in_port_spec.rb
208
+ - spec/core/limiter_spec.rb
209
+ - spec/core/link_spec.rb
210
+ - spec/core/network_spec.rb
211
+ - spec/core/out_port_spec.rb
212
+ - spec/limiters/enum_limiter_spec.rb
213
+ - spec/limiters/lower_limiter_spec.rb
214
+ - spec/limiters/no_limiter_spec.rb
215
+ - spec/limiters/range_limiter_spec.rb
216
+ - spec/limiters/upper_limiter_spec.rb
201
217
  - spec/ports/command_in_port_spec.rb
202
218
  - spec/ports/command_out_port_spec.rb
219
+ - spec/ports/param_in_port_spec.rb
220
+ - spec/ports/param_out_port_spec.rb
203
221
  - spec/ports/signal_in_port_spec.rb
204
222
  - spec/ports/signal_out_port_spec.rb
205
- - spec/ports/value_in_port_spec.rb
206
- - spec/ports/value_out_port_spec.rb
207
223
  - spec/spec_helper.rb
208
224
  - spec/spnet_spec.rb
225
+ - spec/storage/block_state_spec.rb
226
+ - spec/storage/link_state_spec.rb
227
+ - spec/storage/network_state_spec.rb
228
+ - spec/storage/port_locater_spec.rb
209
229
  has_rdoc: