vamp 0.1.3 → 0.1.4

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.
@@ -0,0 +1,221 @@
1
+ require "spec_helper"
2
+
3
+ describe Vamp::Graphic::Transfer do
4
+ describe "screen 9x9" do
5
+ subject do
6
+ s = described_class.new(Vamp::Graphic::Context.new(Vamp::Graphic::TextDotter.new(9, 9)))
7
+ s.context.draw_line_direct 0, 0, 8, 8
8
+ s.context.draw_line_direct 2, 8, 8, 5
9
+ s.context.draw_line_direct 7, 0, 7, 0
10
+ s
11
+ end
12
+ it "has correct starting picture" do
13
+ expect(subject.context.screen).to eq <<-'END'
14
+ +---------+
15
+ |X X |
16
+ | X |
17
+ | X |
18
+ | X |
19
+ | X |
20
+ | X X|
21
+ | XX |
22
+ | XX X |
23
+ | XX X|
24
+ +---------+
25
+ END
26
+ end
27
+
28
+ describe "#mappping" do
29
+ it "has correct minus pattern" do
30
+ expect(subject.mapping["-"].screen).to eq <<-'END'
31
+ +---+
32
+ | |
33
+ |XXX|
34
+ | |
35
+ +---+
36
+ END
37
+ end
38
+ end
39
+
40
+ describe "#get_pattern" do
41
+ it "gets top left pattern correct" do
42
+ expect(subject.get_pattern(0, 0).screen).to eq <<-'END'
43
+ +---+
44
+ |X |
45
+ | X |
46
+ | X|
47
+ +---+
48
+ END
49
+ end
50
+
51
+ it "gets top left + 1x pattern correct" do
52
+ expect(subject.get_pattern(1, 0).screen).to eq <<-'END'
53
+ +---+
54
+ | |
55
+ |X |
56
+ | X |
57
+ +---+
58
+ END
59
+ end
60
+
61
+ it "gets top left + 1y pattern correct" do
62
+ expect(subject.get_pattern(0, 1).screen).to eq <<-'END'
63
+ +---+
64
+ | X |
65
+ | X|
66
+ | |
67
+ +---+
68
+ END
69
+ end
70
+
71
+ it "gets empty pattern correct" do
72
+ expect(subject.get_pattern(4, 1).screen).to eq <<-'END'
73
+ +---+
74
+ | |
75
+ | |
76
+ | |
77
+ +---+
78
+ END
79
+ end
80
+
81
+ it "gets nearly empty pattern correct" do
82
+ expect(subject.get_pattern(4, 2).screen).to eq <<-'END'
83
+ +---+
84
+ | |
85
+ | |
86
+ |X |
87
+ +---+
88
+ END
89
+ end
90
+
91
+ it "gets down right pattern correct" do
92
+ expect(subject.get_pattern(6, 5).screen).to eq <<-'END'
93
+ +---+
94
+ | X|
95
+ |XX |
96
+ | X |
97
+ +---+
98
+ END
99
+ end
100
+ end
101
+
102
+ describe "#get_matching" do
103
+ it "gets pipe pattern correctly" do
104
+ p = subject.create_pattern(<<-'END'
105
+ _X_
106
+ _X_
107
+ _X_
108
+ END
109
+ )
110
+ expect(subject.get_matching(p)).to eq "|"
111
+ end
112
+
113
+ it "gets correct ascii" do
114
+ expect(subject.ascii).to eq "\\ '\n" \
115
+ " \\ \n" \
116
+ " /\\"
117
+ end
118
+ end
119
+ end
120
+ describe "screen 87x51" do
121
+ subject do
122
+ s = described_class.new(Vamp::Graphic::Context.new(Vamp::Graphic::TextDotter.new(87, 51)))
123
+ s.context.line 0, 0, 43, 25
124
+ s.context.line 43, 25, 86, 50
125
+ s.context.line 43, 25, 0, 50
126
+ s.context.line 43, 25, 86, 0
127
+ s.context.line 0, 25, 43, 25
128
+ s.context.line 43, 25, 86, 25
129
+ s.context.line 43, 25, 43, 50
130
+ s.context.line 43, 25, 43, 0
131
+ s.context.line 21, 0, 43, 25
132
+ s.context.line 65, 0, 43, 25
133
+ s.context.line 21, 50, 43, 25
134
+ s.context.line 65, 50, 43, 25
135
+ s.context.line 0, 13, 43, 25
136
+ s.context.line 86, 13, 43, 25
137
+ s.context.line 0, 37, 43, 25
138
+ s.context.line 86, 37, 43, 25
139
+ s
140
+ end
141
+ it "has correct starting picture" do
142
+ expect(subject.context.screen).to eq <<-'END'
143
+ +---------------------------------------------------------------------------------------+
144
+ |X X X X X|
145
+ | XX X X X XX |
146
+ | XX X X X XX |
147
+ | XX X X X XX |
148
+ | X X X X X |
149
+ | XX X X X XX |
150
+ | XX X X X XX |
151
+ | X X X X X |
152
+ | XX X X X XX |
153
+ | XX X X X XX |
154
+ | XX X X X XX |
155
+ | X X X X X |
156
+ | XX X X X XX |
157
+ |XX XX X X X XX XX|
158
+ | XXXX X X X X X XXXX |
159
+ | XXX XX X X X XX XXX |
160
+ | XXXX XX X X X XX XXXX |
161
+ | XXXX XX X X X XX XXXX |
162
+ | XXX X X X X X XXX |
163
+ | XXXX XX X X X XX XXXX |
164
+ | XXX XX X X X XX XXX |
165
+ | XXXX X X X X X XXXX |
166
+ | XXXX XX X X X XX XXXX |
167
+ | XXX XXX X XXX XXX |
168
+ | XXXXXXXXXXX |
169
+ |XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|
170
+ | XXXXXXXXXXX |
171
+ | XXX XXX X XXX XXX |
172
+ | XXXX XX X X X XX XXXX |
173
+ | XXXX X X X X X XXXX |
174
+ | XXX XX X X X XX XXX |
175
+ | XXXX XX X X X XX XXXX |
176
+ | XXX X X X X X XXX |
177
+ | XXXX XX X X X XX XXXX |
178
+ | XXXX XX X X X XX XXXX |
179
+ | XXX XX X X X XX XXX |
180
+ | XXXX X X X X X XXXX |
181
+ |XX XX X X X XX XX|
182
+ | XX X X X XX |
183
+ | X X X X X |
184
+ | XX X X X XX |
185
+ | XX X X X XX |
186
+ | XX X X X XX |
187
+ | X X X X X |
188
+ | XX X X X XX |
189
+ | XX X X X XX |
190
+ | X X X X X |
191
+ | XX X X X XX |
192
+ | XX X X X XX |
193
+ | XX X X X XX |
194
+ |X X X X X|
195
+ +---------------------------------------------------------------------------------------+
196
+ END
197
+ end
198
+ it "gets correct ascii" do
199
+ expect(subject.ascii.split("\n").map(&:rstrip).join("\n")).to eq (<<-'END'
200
+ \_ \ | / _/
201
+ \ \ | / /`
202
+ '_ . | .` _`
203
+ `. . | .` .'
204
+ \_ \ | ` /` _/
205
+ "-__ '\ ' | ' /` __-"
206
+ `-_ '_' | '_' _-'`
207
+ "\\/\|////"
208
+ -------------###-------------
209
+ _////|\/\\_
210
+ _-" .'.`| .`. "-_
211
+ _-'` _/`.` | . \_ '`-_
212
+ /" /` ` | \ "\
213
+ _' ' | ' '_
214
+ _' ' | ' `_
215
+ /` / | \ \
216
+ /` / | \ '\
217
+ END
218
+ ).chomp
219
+ end
220
+ end
221
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,3 +2,11 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
2
  require 'vamp'
3
3
 
4
4
  include Vamp
5
+
6
+ # we want to be able to test protected or private methods
7
+ RSpec.configure do |config|
8
+ config.before(:each) do
9
+ described_class.send(:public, *described_class.protected_instance_methods)
10
+ described_class.send(:public, *described_class.private_instance_methods)
11
+ end
12
+ end
data/spec/vamp_spec.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "spec_helper"
2
+ require "set"
2
3
 
3
4
  describe Vamp do
4
5
  it "has a version number" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vamp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Meyling
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-01 00:00:00.000000000 Z
11
+ date: 2016-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -55,15 +55,27 @@ files:
55
55
  - files/vampire.txt
56
56
  - lib/vamp.rb
57
57
  - lib/vamp/animator.rb
58
+ - lib/vamp/art.rb
58
59
  - lib/vamp/colorize.rb
60
+ - lib/vamp/graphic.rb
61
+ - lib/vamp/graphic/context.rb
62
+ - lib/vamp/graphic/dotter.rb
63
+ - lib/vamp/graphic/text_dotter.rb
64
+ - lib/vamp/graphic/transfer.rb
65
+ - lib/vamp/graphic/transfer5.rb
59
66
  - lib/vamp/ply.rb
60
67
  - lib/vamp/ply/cube.rb
61
68
  - lib/vamp/ply/ply_object.rb
62
69
  - lib/vamp/ply/vampire.rb
63
70
  - lib/vamp/version.rb
64
71
  - sample/cli.rb
72
+ - sample/gui.rb
65
73
  - sample/pyramid.rb
66
74
  - sample/vampire.rb
75
+ - spec/art_spec.rb
76
+ - spec/graphic/context_spec.rb
77
+ - spec/graphic/transfer5_spec.rb
78
+ - spec/graphic/transfer_spec.rb
67
79
  - spec/spec_helper.rb
68
80
  - spec/vamp_spec.rb
69
81
  - vamp.gemspec
@@ -92,5 +104,9 @@ signing_key:
92
104
  specification_version: 4
93
105
  summary: vampire quotes
94
106
  test_files:
107
+ - spec/art_spec.rb
108
+ - spec/graphic/context_spec.rb
109
+ - spec/graphic/transfer5_spec.rb
110
+ - spec/graphic/transfer_spec.rb
95
111
  - spec/spec_helper.rb
96
112
  - spec/vamp_spec.rb