rubywarrior 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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