gosu_extensions 0.1.22 → 0.1.23

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.
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