SimControl 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- SimControl (0.1.2)
4
+ SimControl (0.1.4)
5
5
  active_support
6
6
  i18n
7
7
  thor
@@ -1,8 +1,8 @@
1
1
  module SimControl
2
2
  class BaseEnvironment
3
- def simulate(args, seeds)
3
+ def simulate(scenario, seeds)
4
4
  seeds.each do |seed|
5
- execute(args.merge({seed: seed}))
5
+ execute(scenario.args({seed: seed}))
6
6
  end
7
7
  end
8
8
  end
@@ -6,19 +6,19 @@ module SimControl
6
6
  args.pop
7
7
  end
8
8
  @commands = args
9
- @options = options
9
+ @options = options || {}
10
10
  end
11
11
 
12
- def options
13
- @options.map { |k, v| "--#{ k } #{ v }" }.join " "
12
+ def options(other_options = {})
13
+ other_options.merge(@options).map { |k, v| "--#{ k } #{ v }" }.join " "
14
14
  end
15
15
 
16
16
  def commands
17
17
  @commands.join(" ").strip
18
18
  end
19
19
 
20
- def args
21
- [commands, options].join " "
20
+ def args(other_options = {})
21
+ [commands, options(other_options)].join(" ").strip
22
22
  end
23
23
  end
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module SimControl
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -3,29 +3,11 @@ require "spec_helper"
3
3
  describe SimControl::BaseEnvironment do
4
4
  describe "#simulate" do
5
5
  it "calls #execute for each seed" do
6
+ scenario = double("scenario")
7
+ scenario.should_receive(:args).with(seed: 1)
8
+ scenario.should_receive(:args).with(seed: 2)
6
9
  subject.should_receive(:execute).twice
7
- subject.simulate({}, [1, 2])
8
- end
9
-
10
- it "injects the seed in the arguments hash" do
11
- subject.should_receive(:execute) do |args|
12
- expect(args[:seed]).to eq(1)
13
- end
14
-
15
- subject.should_receive(:execute) do |args|
16
- expect(args[:seed]).to eq(2)
17
- end
18
-
19
- subject.simulate({}, [1, 2])
20
- end
21
-
22
- it "keeps the arguments hash" do
23
- subject.should_receive(:execute) do |args|
24
- expect(args[:foo]).to eq("bar")
25
- end
26
-
27
- subject.simulate({foo: "bar"}, [1])
28
-
10
+ subject.simulate(scenario, [1, 2])
29
11
  end
30
12
  end
31
13
  end
@@ -15,4 +15,9 @@ describe SimControl::Scenario do
15
15
  scenario = SimControl::Scenario.new "foo", "bar", baz: "1", qux: 2
16
16
  expect(scenario.args).to eq("foo bar --baz 1 --qux 2")
17
17
  end
18
+
19
+ it "merges options passed to args in the options" do
20
+ scenario = SimControl::Scenario.new
21
+ expect(scenario.args(seed: 1)).to eq("--seed 1")
22
+ end
18
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SimControl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -189,12 +189,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
189
  - - ! '>='
190
190
  - !ruby/object:Gem::Version
191
191
  version: '0'
192
+ segments:
193
+ - 0
194
+ hash: 1705226376190038330
192
195
  required_rubygems_version: !ruby/object:Gem::Requirement
193
196
  none: false
194
197
  requirements:
195
198
  - - ! '>='
196
199
  - !ruby/object:Gem::Version
197
200
  version: '0'
201
+ segments:
202
+ - 0
203
+ hash: 1705226376190038330
198
204
  requirements: []
199
205
  rubyforge_project:
200
206
  rubygems_version: 1.8.23