-
Notifications
You must be signed in to change notification settings - Fork 1
/
piece_spec.rb
102 lines (95 loc) · 2.76 KB
/
piece_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
require 'gosu'
require './piece'
require './game_window'
require './grid'
describe Piece do
describe "#shape" do
let(:window) { GameWindow.new }
let(:grid) { Grid.new(window) }
let(:piece) { Piece.new(window, grid, type) }
context "I" do
let(:type) { :I }
it "rotates" do
piece.shape.should == [[1,0],[2,0],[3,0]]
piece.rotate
piece.shape.should == [[0,-1],[0,-2],[0,-3]]
piece.rotate
piece.shape.should == [[-1,0],[-2,0],[-3,0]]
piece.rotate
piece.shape.should == [[0,1],[0,2],[0,3]]
end
end
context "J" do
let(:type) { :J }
it "rotates" do
piece.shape.should == [[1,0],[2,0],[2,-1]]
piece.rotate
piece.shape.should == [[0,-1],[0,-2],[-1,-2]]
piece.rotate
piece.shape.should == [[-1,0],[-2,0],[-2,1]]
piece.rotate
piece.shape.should == [[0,1],[0,2],[1,2]]
end
end
context "L" do
let(:type) { :L }
it "rotates" do
piece.shape.should == [[1,0],[2,0],[2,-1]]
piece.rotate
piece.shape.should == [[0,-1],[0,-2],[-1,-2]]
piece.rotate
piece.shape.should == [[-1,0],[-2,0],[-2,1]]
piece.rotate
piece.shape.should == [[0,1],[0,2],[1,2]]
end
end
# context "O" do
# let(:type) { :O }
# it "rotates" do
# piece.shape.should == [[0,1],[1,1],[1,0]]
# piece.rotate
# piece.shape.should == [[0,1],[1,1],[1,0]]
# piece.rotate
# piece.shape.should == [[0,1],[1,1],[1,0]]
# piece.rotate
# piece.shape.should == [[0,1],[1,1],[1,0]]
# end
# end
# context "S" do
# let(:type) { :S }
# it "rotates" do
# piece.shape.should == [[1,0],[0,-1],[-1,-1]]
# piece.rotate
# piece.shape.should == [[0,-1],[1,-1],[1,-2]]
# piece.rotate
# piece.shape.should == [[1,0],[0,-1],[-1,-1]]
# piece.rotate
# piece.shape.should == [[0,-1],[1,-1],[1,-2]]
# end
# end
# context "T" do
# let(:type) { :T }
# it "rotates" do
# piece.shape.should == [[-1,0],[1,0],[0,-1]]
# piece.rotate
# piece.shape.should == [[0,-1],[0,1],[-1,0]]
# piece.rotate
# piece.shape.should == [[1,0],[-1,0],[0,1]]
# piece.rotate
# piece.shape.should == [[0,1],[0,-1],[1,0]]
# end
# end
# context "Z" do
# let(:type) { :Z }
# it "rotates" do
# piece.shape.should == [[-1,0],[-1,-1],[-2,-1]]
# piece.rotate
# piece.shape.should == [[0,1],[1,1],[1,2]]
# piece.rotate
# piece.shape.should == [[-1,0],[-1,-1],[-2,-1]]
# piece.rotate
# piece.shape.should == [[0,1],[1,1],[1,2]]
# end
# end
end
end