gosu_extensions 0.1.22 → 0.1.23

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.22
1
+ 0.1.23
@@ -2,8 +2,8 @@
2
2
  #
3
3
  class Moveables
4
4
 
5
- def initialize
6
- @elements = []
5
+ def initialize elements = []
6
+ @elements = elements
7
7
  end
8
8
 
9
9
  delegate :each, :to => :@elements
@@ -0,0 +1,16 @@
1
+ require File.join(File.dirname(__FILE__), '/../../spec_helper')
2
+
3
+ describe Layer do
4
+ it "should be the right layer" do
5
+ Layer::Background.should == 0
6
+ end
7
+ it "should be the right layer" do
8
+ Layer::Ambient.should == 1
9
+ end
10
+ it "should be the right layer" do
11
+ Layer::Players.should == 2
12
+ end
13
+ it "should be the right layer" do
14
+ Layer::UI.should == 3
15
+ end
16
+ end
@@ -0,0 +1,91 @@
1
+ require File.join(File.dirname(__FILE__), '/../../spec_helper')
2
+
3
+ describe Moveables do
4
+
5
+ # TODO targeting
6
+
7
+ describe "move" do
8
+ before(:each) do
9
+ @element1 = stub :element1
10
+ @element2 = stub :element2
11
+ @elements = [@element1, @element2]
12
+ @moveables = Moveables.new @elements
13
+ end
14
+ it "should delegate to each" do
15
+ @element1.should_receive(:move).once.with
16
+ @element2.should_receive(:move).once.with
17
+
18
+ @moveables.move
19
+ end
20
+ end
21
+
22
+ describe "draw" do
23
+ before(:each) do
24
+ @element1 = stub :element1
25
+ @element2 = stub :element2
26
+ @elements = [@element1, @element2]
27
+ @moveables = Moveables.new @elements
28
+ end
29
+ it "should delegate to each" do
30
+ @element1.should_receive(:draw).once.with
31
+ @element2.should_receive(:draw).once.with
32
+
33
+ @moveables.draw
34
+ end
35
+ end
36
+
37
+ describe "remove" do
38
+ before(:each) do
39
+ @ok = stub :ok, :shape => :the_shape_to_be_removed
40
+ @wrong = stub :wrong, :shape => :not_the_right_shape
41
+ @elements = [@wrong, @wrong, @ok, @wrong]
42
+ @moveables = Moveables.new @elements
43
+ end
44
+ it "should remove the ok element" do
45
+ @moveables.remove(:the_shape_to_be_removed).should == [@wrong, @wrong, @wrong]
46
+ end
47
+ end
48
+
49
+ context 'default' do
50
+ before(:each) do
51
+ @elements = stub :elements
52
+ @moveables = Moveables.new @elements
53
+ end
54
+
55
+ describe "registered?" do
56
+ context 'not yet registered' do
57
+ before(:each) do
58
+ @elements.should_receive(:include?).once.with(:some_moveable).and_return false
59
+ end
60
+ it "should return false" do
61
+ @moveables.registered?(:some_moveable).should == false
62
+ end
63
+ end
64
+ context 'already registered' do
65
+ before(:each) do
66
+ @elements.should_receive(:include?).once.with(:some_moveable).and_return true
67
+ end
68
+ it "should return true" do
69
+ @moveables.registered?(:some_moveable).should == true
70
+ end
71
+ end
72
+ end
73
+
74
+ describe "register" do
75
+ it "should register a moveable" do
76
+ @elements.should_receive(:<<).once.with :some_moveable
77
+
78
+ @moveables.register :some_moveable
79
+ end
80
+ end
81
+
82
+ describe "each" do
83
+ it "should delegate each to its elements" do
84
+ @elements.should_receive(:each).once
85
+
86
+ @moveables.each
87
+ end
88
+ end
89
+ end
90
+
91
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 22
9
- version: 0.1.22
8
+ - 23
9
+ version: 0.1.23
10
10
  platform: ruby
11
11
  authors:
12
12
  - Florian Hanke
@@ -122,6 +122,8 @@ test_files:
122
122
  - spec/lib/core/controls_spec.rb
123
123
  - spec/lib/core/initializer_hooks_spec.rb
124
124
  - spec/lib/core/it_is_a_spec.rb
125
+ - spec/lib/core/layer_spec.rb
126
+ - spec/lib/core/moveables_spec.rb
125
127
  - spec/lib/core/trait_spec.rb
126
128
  - spec/lib/core/traits_spec.rb
127
129
  - spec/lib/extensions/module_spec.rb