pretentious 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -1
- data/example.rb +3 -0
- data/lib/pretentious/deconstructor.rb +16 -8
- data/lib/pretentious/generator.rb +4 -4
- data/lib/pretentious/generator_base.rb +20 -0
- data/lib/pretentious/minitest_generator.rb +24 -15
- data/lib/pretentious/rspec_generator.rb +28 -23
- data/lib/pretentious/version.rb +1 -1
- data/run_test.sh +1 -1
- data/spec/fibonacci_spec.rb +4 -0
- data/spec/m_d5_spec.rb +2 -0
- data/spec/minitest_generator_spec.rb +2 -2
- data/spec/prententious_spec.rb +2 -2
- data/spec/test_class1_spec.rb +33 -14
- data/spec/test_class2_spec.rb +9 -5
- data/spec/test_class3_spec.rb +10 -6
- data/spec/test_class4_spec.rb +4 -2
- data/spec/test_class_for_auto_stub_spec.rb +3 -1
- data/spec/test_class_for_mocks_spec.rb +8 -4
- data/test/test_meme.rb +1 -1
- data/test/test_test_class1.rb +28 -16
- data/test/test_test_class2.rb +6 -8
- data/test/test_test_class3.rb +10 -10
- data/test/test_test_class4.rb +5 -5
- data/test/test_test_class_for_mocks.rb +6 -6
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df840911bcf0942d55b16a3d9ea80370ad48eca6
|
4
|
+
data.tar.gz: a284d31fb92dff010cb9b2a6459c26d34999caad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50dce499f2f088060d5e402c5c17b77be27c7ff8a5c0c5eaba60d735a91ea82459638a17a4fa2a2b55668d3520ffeeba31b716e8a986e38fb8b248a3233c7236
|
7
|
+
data.tar.gz: c94a2fffcb644a0ccc4c83a77e923ceb11f96c3fc01fa9ceedfe5a1d43c33f12590db719d5eaf96767249c4030165d2ec57fc709223c7b20d9162f0f4645b460
|
data/Rakefile
CHANGED
data/example.rb
CHANGED
@@ -193,7 +193,14 @@ class Pretentious::Deconstructor
|
|
193
193
|
{declaration: @declaration_order, dependency: @dependencies}
|
194
194
|
end
|
195
195
|
|
196
|
-
def
|
196
|
+
def generate_declarations(variable_map = {}, previous_declarations = {}, method_call_collection = [], *target_objects)
|
197
|
+
target_objects.each { |target_object|
|
198
|
+
variable_map.merge!(target_object._variable_map) if target_object.methods.include?(:_variable_map) && !target_object._variable_map.nil?
|
199
|
+
}
|
200
|
+
deconstruct method_call_collection, *target_objects
|
201
|
+
end
|
202
|
+
|
203
|
+
def build_output(indentation_level, variable_map, declarations, declared_names, previous_declarations)
|
197
204
|
output_buffer = ""
|
198
205
|
indentation = ""
|
199
206
|
|
@@ -201,21 +208,22 @@ class Pretentious::Deconstructor
|
|
201
208
|
indentation << ' '
|
202
209
|
}
|
203
210
|
|
204
|
-
target_objects.each { |target_object|
|
205
|
-
variable_map.merge!(target_object._variable_map) if target_object.methods.include?(:_variable_map) && !target_object._variable_map.nil?
|
206
|
-
}
|
207
|
-
declarations, dependencies = deconstruct method_call_collection, *target_objects
|
208
|
-
|
209
211
|
declarations[:declaration].each do |d|
|
210
|
-
|
212
|
+
if (d[:used_by] != :inline) && !previous_declarations.has_key?(d[:id])
|
211
213
|
var_name = Pretentious::Deconstructor.pick_name(variable_map, d[:id], declared_names)
|
212
214
|
output_buffer << "#{indentation}#{var_name} = #{construct(d, variable_map, declared_names, indentation)}\n"
|
215
|
+
elsif (d[:used_by]!=:inline) && previous_declarations[d[:id]]
|
216
|
+
variable_map[d[:id]] = "@#{previous_declarations[d[:id]]}" if previous_declarations[d[:id]][0]!='@'
|
213
217
|
end
|
214
218
|
end
|
215
|
-
|
216
219
|
output_buffer
|
217
220
|
end
|
218
221
|
|
222
|
+
def deconstruct_to_ruby(indentation_level = 0, variable_map = {}, declared_names = {}, previous_declarations = {}, method_call_collection = [], *target_objects)
|
223
|
+
declarations, dependencies = generate_declarations variable_map, previous_declarations, method_call_collection, *target_objects
|
224
|
+
build_output(indentation_level, variable_map, declarations, declared_names, previous_declarations)
|
225
|
+
end
|
226
|
+
|
219
227
|
def self.is_primitive?(value)
|
220
228
|
value.is_a?(String) || value.is_a?(Fixnum) || value.is_a?(TrueClass) || value.is_a?(FalseClass) ||
|
221
229
|
value.is_a?(NilClass) || value.is_a?(Symbol) || value.is_a?(Class)
|
@@ -103,7 +103,7 @@ module Pretentious
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def init_let_variables
|
106
|
-
@_init_let_variables
|
106
|
+
@_init_let_variables.dup
|
107
107
|
end
|
108
108
|
|
109
109
|
def method_calls_by_method
|
@@ -179,7 +179,7 @@ module Pretentious
|
|
179
179
|
end
|
180
180
|
|
181
181
|
def let_variables
|
182
|
-
@_let_variables
|
182
|
+
@_let_variables.dup
|
183
183
|
end
|
184
184
|
|
185
185
|
def method_calls_by_method
|
@@ -441,7 +441,7 @@ module Pretentious
|
|
441
441
|
end
|
442
442
|
|
443
443
|
def _variable_map
|
444
|
-
@_variable_names || {}
|
444
|
+
(@_variable_names || {}).dup
|
445
445
|
end
|
446
446
|
|
447
447
|
def _deconstruct
|
@@ -462,7 +462,7 @@ module Pretentious
|
|
462
462
|
}
|
463
463
|
|
464
464
|
variable_names = _variable_map.merge({self.object_id => var_name}) unless var_name.nil?
|
465
|
-
Pretentious::Deconstructor.new().deconstruct_to_ruby(indentation, variable_names, {}, [], self)
|
465
|
+
Pretentious::Deconstructor.new().deconstruct_to_ruby(indentation, variable_names, {}, {}, [], self)
|
466
466
|
end
|
467
467
|
|
468
468
|
end
|
@@ -5,9 +5,29 @@ module Pretentious
|
|
5
5
|
@output_buffer << "#{indentation(level)}#{line}\n"
|
6
6
|
end
|
7
7
|
|
8
|
+
def buffer_to_string(buffer, line, level = 0)
|
9
|
+
buffer << "#{indentation(level)}#{line}\n"
|
10
|
+
end
|
11
|
+
|
8
12
|
def buffer_inline(line, level = 0)
|
9
13
|
@output_buffer << "#{indentation(level)}#{line}"
|
10
14
|
end
|
11
15
|
|
16
|
+
def setup_fixture(fixture)
|
17
|
+
variable_map = fixture.let_variables.merge({ fixture.object_id => '@fixture'})
|
18
|
+
top_declarations = {}
|
19
|
+
global_declared_names = {}
|
20
|
+
|
21
|
+
declarations, dependencies = @deconstructor.generate_declarations(variable_map, {}, [], fixture)
|
22
|
+
|
23
|
+
declarations[:declaration].each do |d|
|
24
|
+
if (d[:used_by] != :inline)
|
25
|
+
top_declarations[d[:id]] = Pretentious::Deconstructor.pick_name(variable_map, d[:id], global_declared_names)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
[top_declarations, declarations, variable_map, global_declared_names]
|
30
|
+
end
|
31
|
+
|
12
32
|
end
|
13
33
|
end
|
@@ -41,21 +41,28 @@ class Pretentious::MinitestGenerator < Pretentious::GeneratorBase
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def generate(test_instance, instance_count)
|
44
|
+
global_variable_declaration = {}
|
44
45
|
if (test_instance.is_a? Class)
|
45
46
|
#class methods
|
46
47
|
class_method_calls = test_instance.method_calls_by_method
|
47
|
-
generate_specs("#{test_instance.test_class.name}::",test_instance.test_class.name, class_method_calls, test_instance.let_variables
|
48
|
+
buffer(generate_specs("#{test_instance.test_class.name}::",test_instance.test_class.name, class_method_calls, test_instance.let_variables,
|
49
|
+
global_variable_declaration, {}))
|
48
50
|
else
|
49
51
|
buffer("class #{test_instance.test_class.name}Scenario#{instance_count} < Test#{@test_class.name}",0)
|
50
52
|
|
51
53
|
buffer("def setup",1)
|
52
|
-
|
53
|
-
|
54
|
-
|
54
|
+
|
55
|
+
|
56
|
+
top_declarations, declarations, variable_map, global_declared_names = setup_fixture(test_instance)
|
55
57
|
|
56
58
|
method_calls = test_instance.method_calls_by_method
|
59
|
+
specs_buffer = generate_specs("#{test_instance.test_class.name}#", "@fixture", method_calls, variable_map,
|
60
|
+
global_variable_declaration, top_declarations)
|
61
|
+
buffer_inline(@deconstructor.build_output(3 * @_indentation.length, variable_map, declarations, global_variable_declaration, {}))
|
62
|
+
buffer("end", 1)
|
63
|
+
whitespace
|
57
64
|
|
58
|
-
|
65
|
+
buffer_inline(specs_buffer)
|
59
66
|
|
60
67
|
buffer('end',0)
|
61
68
|
whitespace
|
@@ -106,9 +113,9 @@ class Pretentious::MinitestGenerator < Pretentious::GeneratorBase
|
|
106
113
|
str
|
107
114
|
end
|
108
115
|
|
109
|
-
def generate_specs(context_prefix, fixture, method_calls, let_variables)
|
110
|
-
|
111
|
-
|
116
|
+
def generate_specs(context_prefix, fixture, method_calls, let_variables, declaration, previous_declaration)
|
117
|
+
output = ""
|
118
|
+
buffer_to_string(output, "def test_current_expectation", 1)
|
112
119
|
#collect all params
|
113
120
|
params_collection = []
|
114
121
|
mocks_collection = {}
|
@@ -143,18 +150,20 @@ class Pretentious::MinitestGenerator < Pretentious::GeneratorBase
|
|
143
150
|
end
|
144
151
|
|
145
152
|
if (params_collection.size > 0)
|
146
|
-
|
153
|
+
deps = declare_dependencies(params_collection, let_variables, 2, declaration, previous_declaration)
|
154
|
+
buffer_to_string(output, deps) if deps.strip!=''
|
147
155
|
end
|
148
156
|
|
149
157
|
if (mocks_collection.keys.size > 0)
|
150
|
-
|
158
|
+
buffer_to_string(output, generate_minitest_stub(mocks_collection, let_variables, 2, declaration) { |indentation|
|
151
159
|
generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, indentation)
|
152
|
-
},0)
|
160
|
+
}, 0)
|
153
161
|
else
|
154
|
-
|
162
|
+
buffer_to_string(output, generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, 2), 0)
|
155
163
|
end
|
156
164
|
|
157
|
-
|
165
|
+
buffer_to_string(output, "end", 1)
|
166
|
+
output
|
158
167
|
end
|
159
168
|
|
160
169
|
def generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, indentation_level)
|
@@ -278,11 +287,11 @@ class Pretentious::MinitestGenerator < Pretentious::GeneratorBase
|
|
278
287
|
params.join(" ,")
|
279
288
|
end
|
280
289
|
|
281
|
-
def declare_dependencies(args, variable_map, level, declarations)
|
290
|
+
def declare_dependencies(args, variable_map, level, declarations, previous_declaration)
|
282
291
|
deconstructor = Pretentious::Deconstructor.new
|
283
292
|
|
284
293
|
args = remove_primitives(args, variable_map)
|
285
|
-
deconstructor.deconstruct_to_ruby(level * @_indentation.length, variable_map, declarations, [], *args)
|
294
|
+
deconstructor.deconstruct_to_ruby(level * @_indentation.length, variable_map, declarations, previous_declaration, [], *args)
|
286
295
|
end
|
287
296
|
|
288
297
|
def remove_primitives(args, let_lookup)
|
@@ -40,23 +40,25 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def generate(test_instance, instance_count)
|
43
|
+
global_variable_declaration = {}
|
43
44
|
if (test_instance.is_a? Class)
|
44
45
|
#class methods
|
45
46
|
class_method_calls = test_instance.method_calls_by_method
|
46
|
-
generate_specs("#{test_instance.test_class.name}::", test_instance.test_class.name,
|
47
|
-
class_method_calls, test_instance.let_variables)
|
47
|
+
buffer(generate_specs("#{test_instance.test_class.name}::", test_instance.test_class.name,
|
48
|
+
class_method_calls, test_instance.let_variables, global_variable_declaration, {}))
|
48
49
|
else
|
49
50
|
buffer("context 'Scenario #{instance_count}' do",1)
|
50
51
|
|
51
52
|
buffer("before do",2)
|
52
|
-
buffer_inline(test_instance._deconstruct_to_ruby('@fixture', 3 * @_indentation.length))
|
53
|
-
buffer("end",2)
|
54
|
-
whitespace
|
55
53
|
|
54
|
+
top_declarations, declarations, variable_map, global_declared_names = setup_fixture(test_instance)
|
56
55
|
method_calls = test_instance.method_calls_by_method
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
specs_buffer = generate_specs("#{test_instance.test_class.name}#", "@fixture", method_calls, variable_map,
|
57
|
+
global_variable_declaration, top_declarations)
|
58
|
+
buffer_inline(@deconstructor.build_output(3 * @_indentation.length, variable_map, declarations, global_variable_declaration, {}))
|
59
|
+
buffer("end",2)
|
60
|
+
whitespace
|
61
|
+
buffer(specs_buffer)
|
60
62
|
buffer('end',1)
|
61
63
|
whitespace
|
62
64
|
end
|
@@ -81,6 +83,7 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
81
83
|
end
|
82
84
|
|
83
85
|
def generate_expectation(fixture, method, let_variables, declarations, params, block, result)
|
86
|
+
output = ""
|
84
87
|
block_source = if !block.nil? && block.is_a?(Pretentious::RecordedProc)
|
85
88
|
get_block_source(block, let_variables, declarations, @_indentation * 3)
|
86
89
|
else
|
@@ -97,15 +100,16 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
97
100
|
end
|
98
101
|
|
99
102
|
if (result.kind_of? Exception)
|
100
|
-
|
103
|
+
buffer_to_string(output, "expect { #{statement} }.to #{pick_matcher(result, let_variables, declarations)}",3)
|
101
104
|
else
|
102
|
-
|
105
|
+
buffer_to_string(output, "expect( #{statement} ).to #{pick_matcher(result, let_variables, declarations)}",3)
|
103
106
|
end
|
107
|
+
output
|
104
108
|
end
|
105
109
|
|
106
|
-
def generate_specs(context_prefix, fixture, method_calls, let_variables)
|
107
|
-
|
108
|
-
|
110
|
+
def generate_specs(context_prefix, fixture, method_calls, let_variables, declaration, previous_declaration)
|
111
|
+
output = ""
|
112
|
+
buffer_to_string(output, "it 'should pass current expectations' do\n", 2)
|
109
113
|
#collect all params
|
110
114
|
params_collection = []
|
111
115
|
mocks_collection = {}
|
@@ -142,11 +146,13 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
142
146
|
end
|
143
147
|
|
144
148
|
if (params_collection.size > 0)
|
145
|
-
|
149
|
+
deps = declare_dependencies(params_collection, let_variables, 3 * @_indentation.length, declaration,
|
150
|
+
[], previous_declaration)
|
151
|
+
buffer_to_string(output, deps) if deps!=''
|
146
152
|
end
|
147
153
|
|
148
154
|
if (mocks_collection.keys.size > 0)
|
149
|
-
|
155
|
+
buffer_to_string(output, generate_rspec_stub(mocks_collection, let_variables, 3 * @_indentation.length, declaration))
|
150
156
|
end
|
151
157
|
|
152
158
|
method_calls.each_key do |k|
|
@@ -160,15 +166,14 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
160
166
|
""
|
161
167
|
end
|
162
168
|
|
163
|
-
|
164
|
-
generate_expectation(fixture, k, let_variables, declaration, block[:params], block[:block], block[:result])
|
169
|
+
buffer_to_string(output, "# #{context_prefix}#{k} #{params_desc_str} should return #{block[:result]}", 3)
|
165
170
|
|
166
|
-
|
171
|
+
buffer_to_string(output, generate_expectation(fixture, k, let_variables, declaration, block[:params], block[:block], block[:result]))
|
167
172
|
end
|
168
|
-
|
169
|
-
|
170
173
|
end
|
171
|
-
|
174
|
+
|
175
|
+
buffer_to_string(output, "end", 2)
|
176
|
+
output
|
172
177
|
end
|
173
178
|
|
174
179
|
def generate_rspec_stub(mocks_collection, let_variables, indentation_level , declaration)
|
@@ -255,11 +260,11 @@ class Pretentious::RspecGenerator < Pretentious::GeneratorBase
|
|
255
260
|
params.join(" ,")
|
256
261
|
end
|
257
262
|
|
258
|
-
def declare_dependencies(args, variable_map, level, declarations, method_call_collection)
|
263
|
+
def declare_dependencies(args, variable_map, level, declarations, method_call_collection, top_level_declaration = {})
|
259
264
|
deconstructor = Pretentious::Deconstructor.new
|
260
265
|
|
261
266
|
args = remove_primitives(args, variable_map)
|
262
|
-
deconstructor.deconstruct_to_ruby(level, variable_map, declarations, method_call_collection, *args)
|
267
|
+
deconstructor.deconstruct_to_ruby(level, variable_map, declarations, top_level_declaration, method_call_collection, *args)
|
263
268
|
end
|
264
269
|
|
265
270
|
def remove_primitives(args, let_lookup)
|
data/lib/pretentious/version.rb
CHANGED
data/run_test.sh
CHANGED
data/spec/fibonacci_spec.rb
CHANGED
@@ -9,6 +9,7 @@ RSpec.describe Fibonacci do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should pass current expectations' do
|
12
|
+
|
12
13
|
n = 1
|
13
14
|
n_1 = 2
|
14
15
|
n_2 = 3
|
@@ -31,11 +32,14 @@ RSpec.describe Fibonacci do
|
|
31
32
|
expect( @fixture.fib(n_4) ).to eq(5)
|
32
33
|
|
33
34
|
end
|
35
|
+
|
34
36
|
end
|
35
37
|
|
36
38
|
it 'should pass current expectations' do
|
39
|
+
|
37
40
|
# Fibonacci::say_hello should return hello
|
38
41
|
expect( Fibonacci.say_hello ).to eq("hello")
|
39
42
|
|
40
43
|
end
|
44
|
+
|
41
45
|
end
|
data/spec/m_d5_spec.rb
CHANGED
@@ -4,10 +4,12 @@ require 'spec_helper'
|
|
4
4
|
RSpec.describe Digest::MD5 do
|
5
5
|
|
6
6
|
it 'should pass current expectations' do
|
7
|
+
|
7
8
|
sample = "This is the digest"
|
8
9
|
|
9
10
|
# Digest::MD5::hexdigest when passed "This is the digest" should return 9f12248dcddeda976611d192efaaf72a
|
10
11
|
expect( Digest::MD5.hexdigest(sample) ).to eq("9f12248dcddeda976611d192efaaf72a")
|
11
12
|
|
12
13
|
end
|
14
|
+
|
13
15
|
end
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
RSpec.describe Pretentious::Generator do
|
4
4
|
|
5
|
-
context 'Pretentious::
|
5
|
+
context 'Pretentious::MinitestGenerator' do
|
6
6
|
|
7
7
|
before do
|
8
8
|
@fixture = Pretentious::Generator.new
|
@@ -18,7 +18,7 @@ RSpec.describe Pretentious::Generator do
|
|
18
18
|
result = Pretentious::Generator.generate_for(Fibonacci) do
|
19
19
|
Fibonacci.say_hello
|
20
20
|
end
|
21
|
-
expect(result).to eq({Fibonacci =>{output: "#This file was automatically generated by the pretentious gem\nrequire 'minitest_helper'\nrequire \"minitest/autorun\"\n\nclass TestFibonacci < Minitest::Test\nend\n\n def test_current_expectation\n #Fibonacci::say_hello should return hello\n assert_equal \"hello\", Fibonacci.say_hello\n\n\n end\n",
|
21
|
+
expect(result).to eq({Fibonacci =>{output: "#This file was automatically generated by the pretentious gem\nrequire 'minitest_helper'\nrequire \"minitest/autorun\"\n\nclass TestFibonacci < Minitest::Test\nend\n\n def test_current_expectation\n #Fibonacci::say_hello should return hello\n assert_equal \"hello\", Fibonacci.say_hello\n\n\n end\n\n",
|
22
22
|
generator: Pretentious::MinitestGenerator }})
|
23
23
|
end
|
24
24
|
|
data/spec/prententious_spec.rb
CHANGED
@@ -29,7 +29,7 @@ RSpec.describe Pretentious::Generator do
|
|
29
29
|
expect(fib.fib(6)).to eq(8)
|
30
30
|
|
31
31
|
expect(result).to eq({
|
32
|
-
Fibonacci =>{output: "#This file was automatically generated by the pretentious gem\nrequire 'spec_helper'\n\nRSpec.describe Fibonacci do\n\n it 'should pass current expectations' do\n # Fibonacci::say_hello should return hello\n expect( Fibonacci.say_hello ).to eq(\"hello\")\n\n end\nend\n",
|
32
|
+
Fibonacci =>{output: "#This file was automatically generated by the pretentious gem\nrequire 'spec_helper'\n\nRSpec.describe Fibonacci do\n\n it 'should pass current expectations' do\n\n # Fibonacci::say_hello should return hello\n expect( Fibonacci.say_hello ).to eq(\"hello\")\n\n end\n\nend\n",
|
33
33
|
generator: Pretentious::RspecGenerator}})
|
34
34
|
end
|
35
35
|
end
|
@@ -38,7 +38,7 @@ RSpec.describe Pretentious::Generator do
|
|
38
38
|
it "declare watched classes beforehand and capture when certain methods are invoked" do
|
39
39
|
#declare intention
|
40
40
|
Pretentious.on(TestClass5).method_called(:test_method).spec_for(Fibonacci) do |results|
|
41
|
-
expect(results[Fibonacci][:output]).to eq("#This file was automatically generated by the pretentious gem\nrequire 'spec_helper'\n\nRSpec.describe Fibonacci do\n\n context 'Scenario 1' do\n before do\n @fixture = Fibonacci.new\n end\n\n it 'should pass current expectations' do\n\n # Fibonacci#fib when passed n = 5 should return 5\n expect( @fixture.fib(5) ).to eq(5)\n\n end\n end\n\nend\n")
|
41
|
+
expect(results[Fibonacci][:output]).to eq("#This file was automatically generated by the pretentious gem\nrequire 'spec_helper'\n\nRSpec.describe Fibonacci do\n\n context 'Scenario 1' do\n before do\n @fixture = Fibonacci.new\n end\n\n it 'should pass current expectations' do\n\n # Fibonacci#fib when passed n = 5 should return 5\n expect( @fixture.fib(5) ).to eq(5)\n\n end\n\n end\n\nend\n")
|
42
42
|
end
|
43
43
|
|
44
44
|
expect(Pretentious::Generator).to receive(:generate_for).with(Fibonacci).and_call_original
|
data/spec/test_class1_spec.rb
CHANGED
@@ -9,28 +9,29 @@ RSpec.describe TestClass1 do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should pass current expectations' do
|
12
|
+
|
12
13
|
# TestClass1#message should return test
|
13
14
|
expect( @fixture.message ).to eq("test")
|
14
15
|
|
15
16
|
end
|
17
|
+
|
16
18
|
end
|
17
19
|
|
18
20
|
context 'Scenario 2' do
|
19
21
|
before do
|
20
|
-
|
21
|
-
message = {hello: "world", test:
|
22
|
-
@fixture = TestClass1.new(message)
|
22
|
+
@another_object = TestClass1.new("test")
|
23
|
+
@message = {hello: "world", test: @another_object, arr_1: [1, 2, 3, 4, 5, @another_object], sub_hash: {yes: true, obj: @another_object}}
|
24
|
+
@fixture = TestClass1.new(@message)
|
23
25
|
end
|
24
26
|
|
25
27
|
it 'should pass current expectations' do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
var_26989380
|
28
|
+
|
29
|
+
var_2157293100 = Proc.new { |message|
|
30
|
+
@message
|
30
31
|
}
|
31
32
|
|
32
|
-
|
33
|
-
|
33
|
+
test_class1 = nil
|
34
|
+
var_2157279920 = Proc.new {
|
34
35
|
# Variable return values ... can't figure out what goes in here...
|
35
36
|
}
|
36
37
|
|
@@ -41,11 +42,11 @@ RSpec.describe TestClass1 do
|
|
41
42
|
# TestClass1#print_message should return
|
42
43
|
expect( @fixture.print_message ).to be_nil
|
43
44
|
|
44
|
-
# TestClass1#set_block should return #<Pretentious::RecordedProc:
|
45
|
-
expect( @fixture.set_block &
|
45
|
+
# TestClass1#set_block should return #<Pretentious::RecordedProc:0x000001012af7e0@example.rb:73>
|
46
|
+
expect( @fixture.set_block &var_2157293100 ).to eq(var_2157293100)
|
46
47
|
|
47
|
-
# TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:
|
48
|
-
expect( @fixture.call_block &
|
48
|
+
# TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x00000101305078 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2157453340=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x00000101305078 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2157453340=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x00000101305078 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2157453340=>"message"}>}}
|
49
|
+
expect( @fixture.call_block &var_2157279920 ).to eq(@message)
|
49
50
|
|
50
51
|
# TestClass1#something_is_wrong should return StandardError
|
51
52
|
expect { @fixture.something_is_wrong }.to raise_error
|
@@ -54,6 +55,7 @@ RSpec.describe TestClass1 do
|
|
54
55
|
expect( @fixture.just_returns_true ).to be true
|
55
56
|
|
56
57
|
end
|
58
|
+
|
57
59
|
end
|
58
60
|
|
59
61
|
context 'Scenario 3' do
|
@@ -62,12 +64,29 @@ RSpec.describe TestClass1 do
|
|
62
64
|
end
|
63
65
|
|
64
66
|
it 'should pass current expectations' do
|
67
|
+
|
65
68
|
another_object = TestClass1.new("test")
|
66
69
|
|
67
|
-
# TestClass1#return_self when passed message = #<TestClass1:
|
70
|
+
# TestClass1#return_self when passed message = #<TestClass1:0x00000101305078> should return #<TestClass1:0x00000101305078>
|
68
71
|
expect( @fixture.return_self(another_object) ).to eq(another_object)
|
69
72
|
|
70
73
|
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'Scenario 4' do
|
78
|
+
before do
|
79
|
+
@message = TestClass1.new("test")
|
80
|
+
@fixture = TestClass1.new(@message)
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'should pass current expectations' do
|
84
|
+
|
85
|
+
# TestClass1#message should return #<TestClass1:0x00000101305078>
|
86
|
+
expect( @fixture.message ).to eq(@message)
|
87
|
+
|
88
|
+
end
|
89
|
+
|
71
90
|
end
|
72
91
|
|
73
92
|
end
|
data/spec/test_class2_spec.rb
CHANGED
@@ -9,6 +9,7 @@ RSpec.describe TestClass2 do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should pass current expectations' do
|
12
|
+
|
12
13
|
# TestClass2#print_message should return
|
13
14
|
expect( @fixture.print_message ).to be_nil
|
14
15
|
|
@@ -16,6 +17,7 @@ RSpec.describe TestClass2 do
|
|
16
17
|
expect( @fixture.print_message ).to be_nil
|
17
18
|
|
18
19
|
end
|
20
|
+
|
19
21
|
end
|
20
22
|
|
21
23
|
context 'Scenario 2' do
|
@@ -24,23 +26,25 @@ RSpec.describe TestClass2 do
|
|
24
26
|
end
|
25
27
|
|
26
28
|
it 'should pass current expectations' do
|
29
|
+
|
27
30
|
end
|
31
|
+
|
28
32
|
end
|
29
33
|
|
30
34
|
context 'Scenario 3' do
|
31
35
|
before do
|
32
|
-
message2 = "This is message 3"
|
33
|
-
message = TestClass2.new(message2, nil)
|
34
|
-
@fixture = TestClass2.new(message, message2)
|
36
|
+
@message2 = "This is message 3"
|
37
|
+
message = TestClass2.new(@message2, nil)
|
38
|
+
@fixture = TestClass2.new(message, @message2)
|
35
39
|
end
|
36
40
|
|
37
41
|
it 'should pass current expectations' do
|
38
|
-
message3 = "This is message 3"
|
39
42
|
|
40
43
|
# TestClass2#test when passed object = "This is message 3" should return This is message 3
|
41
|
-
expect( @fixture.test(
|
44
|
+
expect( @fixture.test(@message2) ).to eq("This is message 3")
|
42
45
|
|
43
46
|
end
|
47
|
+
|
44
48
|
end
|
45
49
|
|
46
50
|
end
|
data/spec/test_class3_spec.rb
CHANGED
@@ -5,34 +5,38 @@ RSpec.describe TestClass3 do
|
|
5
5
|
|
6
6
|
context 'Scenario 1' do
|
7
7
|
before do
|
8
|
-
|
9
|
-
|
10
|
-
testclass1 = TestClass1.new(
|
8
|
+
another_object = TestClass1.new("test")
|
9
|
+
var_2157439420 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
|
10
|
+
testclass1 = TestClass1.new(var_2157439420)
|
11
11
|
testclass2 = TestClass2.new("This is message 2", nil)
|
12
12
|
@fixture = TestClass3.new(testclass1, testclass2)
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'should pass current expectations' do
|
16
|
+
|
16
17
|
# TestClass3#show_messages should return awesome!!!
|
17
18
|
expect( @fixture.show_messages ).to eq("awesome!!!")
|
18
19
|
|
19
20
|
end
|
21
|
+
|
20
22
|
end
|
21
23
|
|
22
24
|
context 'Scenario 2' do
|
23
25
|
before do
|
24
|
-
|
25
|
-
|
26
|
-
testclass1 = TestClass1.new(
|
26
|
+
another_object = TestClass1.new("test")
|
27
|
+
var_2157439420 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
|
28
|
+
testclass1 = TestClass1.new(var_2157439420)
|
27
29
|
testclass2 = TestClass2.new("This is message 2", nil)
|
28
30
|
@fixture = TestClass3.new(testclass1, testclass2)
|
29
31
|
end
|
30
32
|
|
31
33
|
it 'should pass current expectations' do
|
34
|
+
|
32
35
|
# TestClass3#show_messages should return awesome!!!
|
33
36
|
expect( @fixture.show_messages ).to eq("awesome!!!")
|
34
37
|
|
35
38
|
end
|
39
|
+
|
36
40
|
end
|
37
41
|
|
38
42
|
end
|
data/spec/test_class4_spec.rb
CHANGED
@@ -6,15 +6,17 @@ RSpec.describe TestClass4 do
|
|
6
6
|
context 'Scenario 1' do
|
7
7
|
before do
|
8
8
|
var_8 = nil
|
9
|
-
|
9
|
+
var_2157339500 = Proc.new {
|
10
10
|
# Variable return values ... can't figure out what goes in here...
|
11
11
|
}
|
12
12
|
|
13
|
-
@fixture = TestClass4.new(&
|
13
|
+
@fixture = TestClass4.new(&var_2157339500)
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'should pass current expectations' do
|
17
|
+
|
17
18
|
end
|
19
|
+
|
18
20
|
end
|
19
21
|
|
20
22
|
end
|
@@ -9,7 +9,8 @@ RSpec.describe TestClassForAutoStub do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should pass current expectations' do
|
12
|
-
|
12
|
+
|
13
|
+
var_2172864580 = ["Hello Glorious world", "HI THERE!!!!"]
|
13
14
|
|
14
15
|
allow_any_instance_of(ClassUsedByTestClass).to receive(:stubbed_method).and_return("Hello Glorious world")
|
15
16
|
allow_any_instance_of(AnotherClassUsedByTestClass).to receive(:get_message).and_return("HI THERE!!!!")
|
@@ -18,6 +19,7 @@ RSpec.describe TestClassForAutoStub do
|
|
18
19
|
expect( @fixture.method_that_uses_the_class_to_stub ).to eq(["Hello Glorious world", "HI THERE!!!!"])
|
19
20
|
|
20
21
|
end
|
22
|
+
|
21
23
|
end
|
22
24
|
|
23
25
|
end
|
@@ -9,7 +9,8 @@ RSpec.describe TestClassForMocks do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'should pass current expectations' do
|
12
|
-
|
12
|
+
|
13
|
+
var_2156244200 = [2, 3, 4, 5]
|
13
14
|
|
14
15
|
allow_any_instance_of(TestMockSubClass).to receive(:test_method).and_return("a return string")
|
15
16
|
allow_any_instance_of(TestMockSubClass).to receive(:increment_val).and_return(2, 3, 4, 5)
|
@@ -27,6 +28,7 @@ RSpec.describe TestClassForMocks do
|
|
27
28
|
expect( @fixture.method_with_usage4 ).to eq("a return string")
|
28
29
|
|
29
30
|
end
|
31
|
+
|
30
32
|
end
|
31
33
|
|
32
34
|
context 'Scenario 2' do
|
@@ -35,14 +37,16 @@ RSpec.describe TestClassForMocks do
|
|
35
37
|
end
|
36
38
|
|
37
39
|
it 'should pass current expectations' do
|
38
|
-
var_25477400 = {val: 1, str: "hello world", message: "a message"}
|
39
40
|
|
40
|
-
|
41
|
+
var_2166356480 = {val: 1, str: "hello world", message: "a message"}
|
42
|
+
|
43
|
+
allow_any_instance_of(TestMockSubClass).to receive(:return_hash).and_return(var_2166356480)
|
41
44
|
|
42
45
|
# TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
|
43
|
-
expect( @fixture.method_with_usage3("a message") ).to eq(
|
46
|
+
expect( @fixture.method_with_usage3("a message") ).to eq(var_2166356480)
|
44
47
|
|
45
48
|
end
|
49
|
+
|
46
50
|
end
|
47
51
|
|
48
52
|
end
|
data/test/test_meme.rb
CHANGED
data/test/test_test_class1.rb
CHANGED
@@ -7,7 +7,7 @@ end
|
|
7
7
|
|
8
8
|
class TestClass1Scenario1 < TestTestClass1
|
9
9
|
def setup
|
10
|
-
|
10
|
+
@fixture = TestClass1.new("test")
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_current_expectation
|
@@ -20,20 +20,18 @@ end
|
|
20
20
|
|
21
21
|
class TestClass1Scenario2 < TestTestClass1
|
22
22
|
def setup
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
@another_object = TestClass1.new("test")
|
24
|
+
@message = {hello: "world", test: @another_object, arr_1: [1, 2, 3, 4, 5, @another_object], sub_hash: {yes: true, obj: @another_object}}
|
25
|
+
@fixture = TestClass1.new(@message)
|
26
26
|
end
|
27
27
|
|
28
28
|
def test_current_expectation
|
29
|
-
|
30
|
-
|
31
|
-
var_26237280 = Proc.new { |message|
|
32
|
-
var_26392980
|
29
|
+
var_2162918140 = Proc.new { |message|
|
30
|
+
@message
|
33
31
|
}
|
34
32
|
|
35
|
-
|
36
|
-
|
33
|
+
test_class1 = nil
|
34
|
+
var_2162887340 = Proc.new {
|
37
35
|
# Variable return values ... can't figure out what goes in here...
|
38
36
|
}
|
39
37
|
|
@@ -44,11 +42,11 @@ class TestClass1Scenario2 < TestTestClass1
|
|
44
42
|
#TestClass1#print_message should return
|
45
43
|
assert_nil @fixture.print_message
|
46
44
|
|
47
|
-
#TestClass1#set_block should return #<Pretentious::RecordedProc:
|
48
|
-
assert_equal
|
45
|
+
#TestClass1#set_block should return #<Pretentious::RecordedProc:0x00000101d61990@example.rb:73>
|
46
|
+
assert_equal var_2162918140, @fixture.set_block( &var_2162918140)
|
49
47
|
|
50
|
-
#TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:
|
51
|
-
assert_equal
|
48
|
+
#TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x000001025011f0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2166885020=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x000001025011f0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2166885020=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x000001025011f0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2166885020=>"message"}>}}
|
49
|
+
assert_equal @message, @fixture.call_block( &var_2162887340)
|
52
50
|
|
53
51
|
#TestClass1#something_is_wrong should return StandardError
|
54
52
|
assert_raises(StandardError) { @fixture.something_is_wrong }
|
@@ -62,16 +60,30 @@ end
|
|
62
60
|
|
63
61
|
class TestClass1Scenario3 < TestTestClass1
|
64
62
|
def setup
|
65
|
-
|
63
|
+
@fixture = TestClass1.new("Hello")
|
66
64
|
end
|
67
65
|
|
68
66
|
def test_current_expectation
|
69
67
|
another_object = TestClass1.new("test")
|
70
68
|
|
71
|
-
#TestClass1#return_self when passed message = #<TestClass1:
|
69
|
+
#TestClass1#return_self when passed message = #<TestClass1:0x000001025011f0> should return #<TestClass1:0x000001025011f0>
|
72
70
|
assert_equal another_object, @fixture.return_self(another_object)
|
73
71
|
|
74
72
|
|
75
73
|
end
|
76
74
|
end
|
77
75
|
|
76
|
+
class TestClass1Scenario4 < TestTestClass1
|
77
|
+
def setup
|
78
|
+
@message = TestClass1.new("test")
|
79
|
+
@fixture = TestClass1.new(@message)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_current_expectation
|
83
|
+
#TestClass1#message should return #<TestClass1:0x000001025011f0>
|
84
|
+
assert_equal @message, @fixture.message
|
85
|
+
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
data/test/test_test_class2.rb
CHANGED
@@ -7,7 +7,7 @@ end
|
|
7
7
|
|
8
8
|
class TestClass2Scenario1 < TestTestClass2
|
9
9
|
def setup
|
10
|
-
|
10
|
+
@fixture = TestClass2.new("This is message 2", nil)
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_current_expectation
|
@@ -23,7 +23,7 @@ end
|
|
23
23
|
|
24
24
|
class TestClass2Scenario2 < TestTestClass2
|
25
25
|
def setup
|
26
|
-
|
26
|
+
@fixture = TestClass2.new("This is message 3", nil)
|
27
27
|
end
|
28
28
|
|
29
29
|
def test_current_expectation
|
@@ -33,16 +33,14 @@ end
|
|
33
33
|
|
34
34
|
class TestClass2Scenario3 < TestTestClass2
|
35
35
|
def setup
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
@message2 = "This is message 3"
|
37
|
+
message = TestClass2.new(@message2, nil)
|
38
|
+
@fixture = TestClass2.new(message, @message2)
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_current_expectation
|
42
|
-
message3 = "This is message 3"
|
43
|
-
|
44
42
|
#TestClass2#test when passed object = "This is message 3" should return This is message 3
|
45
|
-
assert_equal "This is message 3", @fixture.test(
|
43
|
+
assert_equal "This is message 3", @fixture.test(@message2)
|
46
44
|
|
47
45
|
|
48
46
|
end
|
data/test/test_test_class3.rb
CHANGED
@@ -7,11 +7,11 @@ end
|
|
7
7
|
|
8
8
|
class TestClass3Scenario1 < TestTestClass3
|
9
9
|
def setup
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
another_object = TestClass1.new("test")
|
11
|
+
var_2166831300 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
|
12
|
+
testclass1 = TestClass1.new(var_2166831300)
|
13
|
+
testclass2 = TestClass2.new("This is message 2", nil)
|
14
|
+
@fixture = TestClass3.new(testclass1, testclass2)
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_current_expectation
|
@@ -24,11 +24,11 @@ end
|
|
24
24
|
|
25
25
|
class TestClass3Scenario2 < TestTestClass3
|
26
26
|
def setup
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
another_object = TestClass1.new("test")
|
28
|
+
var_2166831300 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
|
29
|
+
testclass1 = TestClass1.new(var_2166831300)
|
30
|
+
testclass2 = TestClass2.new("This is message 2", nil)
|
31
|
+
@fixture = TestClass3.new(testclass1, testclass2)
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_current_expectation
|
data/test/test_test_class4.rb
CHANGED
@@ -7,12 +7,12 @@ end
|
|
7
7
|
|
8
8
|
class TestClass4Scenario1 < TestTestClass4
|
9
9
|
def setup
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
var_8 = nil
|
11
|
+
var_2166614480 = Proc.new {
|
12
|
+
# Variable return values ... can't figure out what goes in here...
|
13
|
+
}
|
14
14
|
|
15
|
-
|
15
|
+
@fixture = TestClass4.new(&var_2166614480)
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_current_expectation
|
@@ -7,11 +7,11 @@ end
|
|
7
7
|
|
8
8
|
class TestClassForMocksScenario1 < TestTestClassForMocks
|
9
9
|
def setup
|
10
|
-
|
10
|
+
@fixture = TestClassForMocks.new
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_current_expectation
|
14
|
-
|
14
|
+
var_2166301840 = [2, 3, 4, 5]
|
15
15
|
|
16
16
|
TestMockSubClass.stub_any_instance(:test_method, "a return string") do
|
17
17
|
TestMockSubClass.stub_any_instance(:increment_val, 2) do
|
@@ -35,15 +35,15 @@ end
|
|
35
35
|
|
36
36
|
class TestClassForMocksScenario2 < TestTestClassForMocks
|
37
37
|
def setup
|
38
|
-
|
38
|
+
@fixture = TestClassForMocks.new
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_current_expectation
|
42
|
-
|
42
|
+
var_2166224460 = {val: 1, str: "hello world", message: "a message"}
|
43
43
|
|
44
|
-
TestMockSubClass.stub_any_instance(:return_hash,
|
44
|
+
TestMockSubClass.stub_any_instance(:return_hash, var_2166224460) do
|
45
45
|
#TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
|
46
|
-
assert_equal
|
46
|
+
assert_equal var_2166224460, @fixture.method_with_usage3("a message")
|
47
47
|
|
48
48
|
end
|
49
49
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pretentious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joseph Emmanuel Dayo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: binding_of_caller
|
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
177
|
version: '0'
|
178
178
|
requirements: []
|
179
179
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.
|
180
|
+
rubygems_version: 2.2.2
|
181
181
|
signing_key:
|
182
182
|
specification_version: 4
|
183
183
|
summary: Generate tests from existing code as well as a way to deal with pretentious
|
@@ -204,3 +204,4 @@ test_files:
|
|
204
204
|
- test/test_test_class3.rb
|
205
205
|
- test/test_test_class4.rb
|
206
206
|
- test/test_test_class_for_mocks.rb
|
207
|
+
has_rdoc:
|