rubywarrior 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/{CHANGELOG.rdoc → CHANGELOG.md} +21 -3
  3. data/Gemfile +10 -0
  4. data/Gemfile.lock +55 -0
  5. data/LICENSE +4 -4
  6. data/{README.rdoc → README.md} +115 -93
  7. data/Rakefile +4 -9
  8. data/bin/rubywarrior +1 -1
  9. data/features/step_definitions/common_steps.rb +2 -2
  10. data/features/step_definitions/interaction_steps.rb +7 -7
  11. data/features/support/env.rb +1 -1
  12. data/lib/ruby_warrior/game.rb +5 -3
  13. data/lib/ruby_warrior/level.rb +5 -1
  14. data/lib/ruby_warrior/player_generator.rb +3 -3
  15. data/lib/ruby_warrior/profile.rb +1 -1
  16. data/lib/ruby_warrior/tower.rb +1 -1
  17. data/rubywarrior.gemspec +16 -0
  18. data/spec/ruby_warrior/abilities/attack_spec.rb +10 -10
  19. data/spec/ruby_warrior/abilities/base_spec.rb +19 -19
  20. data/spec/ruby_warrior/abilities/bind_spec.rb +5 -5
  21. data/spec/ruby_warrior/abilities/direction_of_spec.rb +3 -3
  22. data/spec/ruby_warrior/abilities/direction_of_stairs_spec.rb +3 -3
  23. data/spec/ruby_warrior/abilities/distance_of_spec.rb +3 -3
  24. data/spec/ruby_warrior/abilities/explode_spec.rb +7 -7
  25. data/spec/ruby_warrior/abilities/feel_spec.rb +1 -1
  26. data/spec/ruby_warrior/abilities/form_spec.rb +14 -14
  27. data/spec/ruby_warrior/abilities/health_spec.rb +3 -3
  28. data/spec/ruby_warrior/abilities/listen_spec.rb +3 -3
  29. data/spec/ruby_warrior/abilities/look_spec.rb +3 -3
  30. data/spec/ruby_warrior/abilities/pivot_spec.rb +1 -1
  31. data/spec/ruby_warrior/abilities/rescue_spec.rb +8 -8
  32. data/spec/ruby_warrior/abilities/rest_spec.rb +7 -7
  33. data/spec/ruby_warrior/abilities/shoot_spec.rb +4 -4
  34. data/spec/ruby_warrior/abilities/throw_spec.rb +10 -10
  35. data/spec/ruby_warrior/abilities/walk_spec.rb +5 -5
  36. data/spec/ruby_warrior/core_additions_spec.rb +2 -2
  37. data/spec/ruby_warrior/floor_spec.rb +27 -27
  38. data/spec/ruby_warrior/game_spec.rb +36 -36
  39. data/spec/ruby_warrior/level_loader_spec.rb +19 -19
  40. data/spec/ruby_warrior/level_spec.rb +57 -57
  41. data/spec/ruby_warrior/player_generator_spec.rb +3 -3
  42. data/spec/ruby_warrior/position_spec.rb +43 -43
  43. data/spec/ruby_warrior/profile_spec.rb +59 -59
  44. data/spec/ruby_warrior/space_spec.rb +71 -71
  45. data/spec/ruby_warrior/tower_spec.rb +5 -5
  46. data/spec/ruby_warrior/turn_spec.rb +13 -13
  47. data/spec/ruby_warrior/ui_spec.rb +32 -32
  48. data/spec/ruby_warrior/units/archer_spec.rb +9 -9
  49. data/spec/ruby_warrior/units/base_spec.rb +42 -42
  50. data/spec/ruby_warrior/units/captive_spec.rb +9 -9
  51. data/spec/ruby_warrior/units/golem_spec.rb +9 -9
  52. data/spec/ruby_warrior/units/sludge_spec.rb +11 -11
  53. data/spec/ruby_warrior/units/thick_sludge_spec.rb +7 -7
  54. data/spec/ruby_warrior/units/warrior_spec.rb +23 -23
  55. data/spec/ruby_warrior/units/wizard_spec.rb +9 -9
  56. data/spec/spec_helper.rb +3 -2
  57. data/towers/beginner/level_002.rb +1 -1
  58. data/towers/beginner/level_003.rb +1 -1
  59. data/towers/beginner/level_005.rb +2 -2
  60. data/towers/beginner/level_006.rb +2 -2
  61. data/towers/intermediate/level_002.rb +1 -1
  62. data/towers/intermediate/level_003.rb +2 -2
  63. metadata +47 -67
@@ -1,37 +1,37 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Attack do
4
4
  before(:each) do
5
5
  @attacker = stub(:position => stub, :attack_power => 3, :say => nil)
6
6
  @attack = RubyWarrior::Abilities::Attack.new(@attacker)
7
7
  end
8
-
8
+
9
9
  it "should subtract attack power amount from health" do
10
10
  receiver = RubyWarrior::Units::Base.new
11
11
  receiver.stubs(:alive?).returns(true)
12
12
  receiver.health = 5
13
13
  @attack.stubs(:unit).returns(receiver)
14
14
  @attack.perform
15
- receiver.health.should == 2
15
+ expect(receiver.health).to eq(2)
16
16
  end
17
-
17
+
18
18
  it "should do nothing if recipient is nil" do
19
19
  @attack.stubs(:unit).returns(nil)
20
- lambda { @attack.perform }.should_not raise_error
20
+ expect { @attack.perform }.to_not raise_error
21
21
  end
22
-
22
+
23
23
  it "should get object at position from offset" do
24
24
  @attacker.position.expects(:relative_space).with(1, 0)
25
25
  @attack.space(:forward)
26
26
  end
27
-
27
+
28
28
  it "should award points when killing unit" do
29
29
  receiver = stub(:take_damage => nil, :max_health => 8, :alive? => false)
30
30
  @attack.stubs(:unit).returns(receiver)
31
31
  @attacker.expects(:earn_points).with(8)
32
32
  @attack.perform
33
33
  end
34
-
34
+
35
35
  it "should not award points when not killing unit" do
36
36
  receiver = stub(:max_health => 8, :alive? => true)
37
37
  receiver.expects(:take_damage)
@@ -39,13 +39,13 @@ describe RubyWarrior::Abilities::Attack do
39
39
  @attacker.expects(:earn_points).never
40
40
  @attack.perform
41
41
  end
42
-
42
+
43
43
  it "should reduce attack power when attacking backward" do
44
44
  receiver = RubyWarrior::Units::Base.new
45
45
  receiver.stubs(:alive?).returns(true)
46
46
  receiver.health = 5
47
47
  @attack.stubs(:unit).returns(receiver)
48
48
  @attack.perform(:backward)
49
- receiver.health.should == 3
49
+ expect(receiver.health).to eq(3)
50
50
  end
51
51
  end
@@ -1,38 +1,38 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Base do
4
4
  before(:each) do
5
5
  @unit = stub
6
6
  @ability = RubyWarrior::Abilities::Base.new(@unit)
7
7
  end
8
-
8
+
9
9
  it "should have offset for directions" do
10
- @ability.offset(:forward).should == [1, 0]
11
- @ability.offset(:right).should == [0, 1]
12
- @ability.offset(:backward).should == [-1, 0]
13
- @ability.offset(:left).should == [0, -1]
10
+ expect(@ability.offset(:forward)).to eq([1, 0])
11
+ expect(@ability.offset(:right)).to eq([0, 1])
12
+ expect(@ability.offset(:backward)).to eq([-1, 0])
13
+ expect(@ability.offset(:left)).to eq([0, -1])
14
14
  end
15
-
15
+
16
16
  it "should have offset for relative forward/right amounts" do
17
- @ability.offset(:forward, 2).should == [2, 0]
18
- @ability.offset(:forward, 2, 1).should == [2, -1]
19
- @ability.offset(:right, 2, 1).should == [1, 2]
20
- @ability.offset(:backward, 2, 1).should == [-2, 1]
21
- @ability.offset(:left, 2, 1).should == [-1, -2]
17
+ expect(@ability.offset(:forward, 2)).to eq([2, 0])
18
+ expect(@ability.offset(:forward, 2, 1)).to eq([2, -1])
19
+ expect(@ability.offset(:right, 2, 1)).to eq([1, 2])
20
+ expect(@ability.offset(:backward, 2, 1)).to eq([-2, 1])
21
+ expect(@ability.offset(:left, 2, 1)).to eq([-1, -2])
22
22
  end
23
-
23
+
24
24
  it "should fetch unit at given direction with distance" do
25
25
  @ability.expects(:space).with(:right, 3, 1).returns(stub(:unit => 'unit'))
26
- @ability.unit(:right, 3, 1).should == 'unit'
26
+ expect(@ability.unit(:right, 3, 1)).to eq('unit')
27
27
  end
28
-
28
+
29
29
  it "should have no description" do
30
- @ability.description.should be_nil
30
+ expect(@ability.description).to be_nil
31
31
  end
32
-
32
+
33
33
  it "should raise an exception if direction isn't recognized" do
34
- lambda {
34
+ expect {
35
35
  @ability.verify_direction(:foo)
36
- }.should raise_error("Unknown direction :foo. Should be :forward, :backward, :left or :right.")
36
+ }.to raise_error("Unknown direction :foo. Should be :forward, :backward, :left or :right.")
37
37
  end
38
38
  end
@@ -1,19 +1,19 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Bind do
4
4
  before(:each) do
5
5
  @bind = RubyWarrior::Abilities::Bind.new(stub(:say => nil))
6
6
  end
7
-
7
+
8
8
  it "should bind recipient" do
9
9
  receiver = RubyWarrior::Units::Base.new
10
10
  @bind.stubs(:unit).returns(receiver)
11
11
  @bind.perform
12
- receiver.should be_bound
12
+ expect(receiver).to be_bound
13
13
  end
14
-
14
+
15
15
  it "should do nothing if no recipient" do
16
16
  @bind.stubs(:unit).returns(nil)
17
- lambda { @bind.perform }.should_not raise_error
17
+ expect { @bind.perform }.to_not raise_error
18
18
  end
19
19
  end
@@ -1,13 +1,13 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::DirectionOf do
4
4
  before(:each) do
5
5
  @position = stub
6
6
  @distance = RubyWarrior::Abilities::DirectionOf.new(stub(:position => @position, :say => nil))
7
7
  end
8
-
8
+
9
9
  it "should return relative direction of given space" do
10
10
  @position.stubs(:relative_direction_of).with(:space).returns(:left)
11
- @distance.perform(:space).should == :left
11
+ expect(@distance.perform(:space)).to eq(:left)
12
12
  end
13
13
  end
@@ -1,13 +1,13 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::DirectionOfStairs do
4
4
  before(:each) do
5
5
  @position = stub
6
6
  @distance = RubyWarrior::Abilities::DirectionOfStairs.new(stub(:position => @position, :say => nil))
7
7
  end
8
-
8
+
9
9
  it "should return relative direction of stairs" do
10
10
  @position.stubs(:relative_direction_of_stairs).returns(:left)
11
- @distance.perform.should == :left
11
+ expect(@distance.perform).to eq(:left)
12
12
  end
13
13
  end
@@ -1,13 +1,13 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::DistanceOf do
4
4
  before(:each) do
5
5
  @position = stub
6
6
  @distance = RubyWarrior::Abilities::DistanceOf.new(stub(:position => @position, :say => nil))
7
7
  end
8
-
8
+
9
9
  it "should return distance from stairs" do
10
10
  @position.stubs(:distance_of).with(:space).returns(5)
11
- @distance.perform(:space).should == 5
11
+ expect(@distance.perform(:space)).to eq(5)
12
12
  end
13
13
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Explode do
4
4
  before(:each) do
@@ -9,24 +9,24 @@ describe RubyWarrior::Abilities::Explode do
9
9
  @floor.add(@captive, 0, 0)
10
10
  @explode = RubyWarrior::Abilities::Explode.new(@captive)
11
11
  end
12
-
12
+
13
13
  it "should subtract 100 health from each unit on the floor" do
14
14
  unit = RubyWarrior::Units::Base.new
15
15
  unit.health = 20
16
16
  @floor.add(unit, 0, 1)
17
17
  @captive.health = 10
18
18
  @explode.perform
19
- @captive.health.should == -90
20
- unit.health.should == -80
19
+ expect(@captive.health).to eq(-90)
20
+ expect(unit.health).to eq(-80)
21
21
  end
22
-
22
+
23
23
  it "should explode when bomb time reaches zero" do
24
24
  @captive.health = 10
25
25
  @explode.time = 3
26
26
  @explode.pass_turn
27
27
  @explode.pass_turn
28
- @captive.health.should == 10
28
+ expect(@captive.health).to eq(10)
29
29
  @explode.pass_turn
30
- @captive.health.should == -90
30
+ expect(@captive.health).to eq(-90)
31
31
  end
32
32
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Feel do
4
4
  before(:each) do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Form do
4
4
  before(:each) do
@@ -9,40 +9,40 @@ describe RubyWarrior::Abilities::Form do
9
9
  @floor.add(@warrior, 0, 0, :east)
10
10
  @form = RubyWarrior::Abilities::Form.new(@warrior)
11
11
  end
12
-
12
+
13
13
  it "should form a golem in front of warrior" do
14
14
  @form.perform
15
- @floor.get(1, 0).should be_kind_of(RubyWarrior::Units::Golem)
15
+ expect(@floor.get(1, 0)).to be_kind_of(RubyWarrior::Units::Golem)
16
16
  end
17
-
17
+
18
18
  it "should form a golem in given direction" do
19
19
  @form.perform(:right)
20
- @floor.get(0, 1).should be_kind_of(RubyWarrior::Units::Golem)
20
+ expect(@floor.get(0, 1)).to be_kind_of(RubyWarrior::Units::Golem)
21
21
  end
22
-
22
+
23
23
  it "should not form golem if space isn't empty" do
24
24
  @floor.add(RubyWarrior::Units::Base.new, 1, 0)
25
25
  @form.perform(:forward)
26
26
  @form.perform(:left)
27
- @floor.units.size.should == 2
27
+ expect(@floor.units.size).to eq(2)
28
28
  end
29
-
29
+
30
30
  it "should reduce warrior's health by half (rounding down) and give it to the golem" do
31
31
  @warrior.health = 19
32
32
  @form.perform
33
- @warrior.health.should == 10
34
- @floor.get(1, 0).max_health.should == 9
33
+ expect(@warrior.health).to eq(10)
34
+ expect(@floor.get(1, 0).max_health).to eq(9)
35
35
  end
36
-
36
+
37
37
  it "should add passed block as golem's turn block" do
38
38
  @passed = nil
39
39
  @form.perform(:forward) { |turn| @passed = turn }
40
40
  @floor.get(1, 0).play_turn(:turn)
41
- @passed.should == :turn
41
+ expect(@passed).to eq(:turn)
42
42
  end
43
-
43
+
44
44
  it "should start in same direction as warrior" do
45
45
  @form.perform(:right)
46
- @floor.get(0, 1).position.direction.should == :east
46
+ expect(@floor.get(0, 1).position.direction).to eq(:east)
47
47
  end
48
48
  end
@@ -1,13 +1,13 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Health do
4
4
  before(:each) do
5
5
  @warrior = RubyWarrior::Units::Warrior.new
6
6
  @health = RubyWarrior::Abilities::Health.new(@warrior)
7
7
  end
8
-
8
+
9
9
  it "should return the amount of health" do
10
10
  @warrior.health = 10
11
- @health.perform.should == 10
11
+ expect(@health.perform).to eq(10)
12
12
  end
13
13
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Listen do
4
4
  before(:each) do
@@ -9,9 +9,9 @@ describe RubyWarrior::Abilities::Listen do
9
9
  @floor.add(@warrior, 0, 0)
10
10
  @listen = RubyWarrior::Abilities::Listen.new(@warrior)
11
11
  end
12
-
12
+
13
13
  it "should return an array of spaces which have units on them besides main unit" do
14
14
  @floor.add(RubyWarrior::Units::Base.new, 0, 1)
15
- @listen.perform.should have(1).record
15
+ expect(@listen.perform.size).to eq(1)
16
16
  end
17
17
  end
@@ -1,15 +1,15 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Look do
4
4
  before(:each) do
5
5
  @unit = stub(:position => stub, :say => nil)
6
6
  @feel = RubyWarrior::Abilities::Look.new(@unit)
7
7
  end
8
-
8
+
9
9
  it "should get 3 objects at position from offset" do
10
10
  @unit.position.expects(:relative_space).with(1, 0).returns(1)
11
11
  @unit.position.expects(:relative_space).with(2, 0).returns(2)
12
12
  @unit.position.expects(:relative_space).with(3, 0).returns(3)
13
- @feel.perform(:forward).should == [1, 2, 3]
13
+ expect(@feel.perform(:forward)).to eq([1, 2, 3])
14
14
  end
15
15
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Pivot do
4
4
  before(:each) do
@@ -1,11 +1,11 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Rescue do
4
4
  before(:each) do
5
5
  @warrior = RubyWarrior::Units::Warrior.new
6
6
  @rescue = RubyWarrior::Abilities::Rescue.new(@warrior)
7
7
  end
8
-
8
+
9
9
  it "should rescue captive" do
10
10
  captive = RubyWarrior::Units::Captive.new
11
11
  captive.position = stub
@@ -13,9 +13,9 @@ describe RubyWarrior::Abilities::Rescue do
13
13
  @rescue.expects(:unit).with(:forward).returns(captive)
14
14
  @warrior.expects(:earn_points).with(20)
15
15
  @rescue.perform
16
- captive.position.should be_nil
16
+ expect(captive.position).to be_nil
17
17
  end
18
-
18
+
19
19
  it "should do nothing to other unit if not bound" do
20
20
  unit = RubyWarrior::Units::Base.new
21
21
  unit.position = stub
@@ -23,9 +23,9 @@ describe RubyWarrior::Abilities::Rescue do
23
23
  @rescue.expects(:unit).with(:forward).never
24
24
  @warrior.expects(:earn_points).never
25
25
  @rescue.perform
26
- unit.position.should_not be_nil
26
+ expect(unit.position).to_not be_nil
27
27
  end
28
-
28
+
29
29
  it "should release other unit when bound" do
30
30
  unit = RubyWarrior::Units::Base.new
31
31
  unit.bind
@@ -34,7 +34,7 @@ describe RubyWarrior::Abilities::Rescue do
34
34
  @rescue.expects(:unit).with(:forward).returns(unit)
35
35
  @warrior.expects(:earn_points).never
36
36
  @rescue.perform
37
- unit.should_not be_bound
38
- unit.position.should_not be_nil
37
+ expect(unit).to_not be_bound
38
+ expect(unit.position).to_not be_nil
39
39
  end
40
40
  end
@@ -1,29 +1,29 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Rest do
4
4
  before(:each) do
5
5
  @warrior = RubyWarrior::Units::Warrior.new
6
6
  @rest = RubyWarrior::Abilities::Rest.new(@warrior)
7
7
  end
8
-
8
+
9
9
  it "should give 10% health back" do
10
10
  @warrior.stubs(:max_health).returns(20)
11
11
  @warrior.health = 10
12
12
  @rest.perform
13
- @warrior.health.should == 12
13
+ expect(@warrior.health).to eq(12)
14
14
  end
15
-
15
+
16
16
  it "should add health when at max" do
17
17
  @warrior.stubs(:max_health).returns(20)
18
18
  @warrior.health = 20
19
19
  @rest.perform
20
- @warrior.health.should == 20
20
+ expect(@warrior.health).to eq(20)
21
21
  end
22
-
22
+
23
23
  it "should not go over max health" do
24
24
  @warrior.stubs(:max_health).returns(20)
25
25
  @warrior.health = 19
26
26
  @rest.perform
27
- @warrior.health.should == 20
27
+ expect(@warrior.health).to eq(20)
28
28
  end
29
29
  end
@@ -1,11 +1,11 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Shoot do
4
4
  before(:each) do
5
5
  @shooter = stub(:position => stub, :shoot_power => 2, :say => nil)
6
6
  @shoot = RubyWarrior::Abilities::Shoot.new(@shooter)
7
7
  end
8
-
8
+
9
9
  it "should shoot only first unit" do
10
10
  receiver = stub(:alive? => true)
11
11
  receiver.expects(:take_damage).with(2)
@@ -14,9 +14,9 @@ describe RubyWarrior::Abilities::Shoot do
14
14
  @shoot.expects(:multi_unit).with(:forward, anything).returns([nil, receiver, other, nil])
15
15
  @shoot.perform
16
16
  end
17
-
17
+
18
18
  it "should shoot and do nothing if no units in the way" do
19
19
  @shoot.expects(:multi_unit).with(:forward, anything).returns([nil, nil])
20
- lambda { @shoot.perform }.should_not raise_error
20
+ expect { @shoot.perform }.to_not raise_error
21
21
  end
22
22
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Detonate do
4
4
  before(:each) do
@@ -9,7 +9,7 @@ describe RubyWarrior::Abilities::Detonate do
9
9
  @floor.add(@warrior, 0, 0, :south)
10
10
  @detonate = RubyWarrior::Abilities::Detonate.new(@warrior)
11
11
  end
12
-
12
+
13
13
  it "should subtract 8 from forward unit and 4 from surrounding units" do
14
14
  target_unit = RubyWarrior::Units::Base.new
15
15
  target_unit.health = 15
@@ -18,10 +18,10 @@ describe RubyWarrior::Abilities::Detonate do
18
18
  @floor.add(target_unit, 0, 1)
19
19
  @floor.add(second_unit, 1, 1)
20
20
  @detonate.perform
21
- target_unit.health.should == 7
22
- second_unit.health.should == 11
21
+ expect(target_unit.health).to eq(7)
22
+ expect(second_unit.health).to eq(11)
23
23
  end
24
-
24
+
25
25
  it "should subtract 8 from left unit and 4 from surrounding units" do
26
26
  target_unit = RubyWarrior::Units::Base.new
27
27
  target_unit.health = 15
@@ -30,17 +30,17 @@ describe RubyWarrior::Abilities::Detonate do
30
30
  @floor.add(target_unit, 1, 0)
31
31
  @floor.add(second_unit, 1, 1)
32
32
  @detonate.perform(:left)
33
- target_unit.health.should == 7
34
- second_unit.health.should == 11
33
+ expect(target_unit.health).to eq(7)
34
+ expect(second_unit.health).to eq(11)
35
35
  end
36
-
36
+
37
37
  it "should detonate an explosive if any unit has one" do
38
38
  captive = RubyWarrior::Units::Captive.new
39
39
  captive.health = 1
40
40
  captive.add_abilities :explode!
41
41
  @floor.add(captive, 1, 1)
42
42
  @detonate.perform
43
- captive.health.should == -99
44
- @warrior.health.should == -80
43
+ expect(captive.health).to eq(-99)
44
+ expect(@warrior.health).to eq(-80)
45
45
  end
46
46
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe RubyWarrior::Abilities::Walk do
4
4
  before(:each) do
@@ -6,20 +6,20 @@ describe RubyWarrior::Abilities::Walk do
6
6
  @position = stub(:relative_space => @space, :move => nil)
7
7
  @walk = RubyWarrior::Abilities::Walk.new(stub(:position => @position, :say => nil))
8
8
  end
9
-
9
+
10
10
  it "should move position forward when calling perform" do
11
11
  @position.expects(:move).with(1, 0)
12
12
  @walk.perform
13
13
  end
14
-
14
+
15
15
  it "should move position right if that is direction" do
16
16
  @position.expects(:move).with(0, 1)
17
17
  @walk.perform(:right)
18
18
  end
19
-
19
+
20
20
  it "should keep position if something is in the way" do
21
21
  @position.stubs(:move).raises("shouldn't be called")
22
22
  @space.stubs(:empty?).returns(false)
23
- lambda { @walk.perform(:right) }.should_not raise_error
23
+ expect { @walk.perform(:right) }.to_not raise_error
24
24
  end
25
25
  end
@@ -1,7 +1,7 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe String do
4
4
  it "should wrap text at white space when over a specific character length" do
5
- "foo bar blah".hard_wrap(10).should == "foo bar\nblah"
5
+ expect("foo bar blah".hard_wrap(10)).to eq("foo bar\nblah")
6
6
  end
7
7
  end