pretentious 0.0.9 → 0.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dd2bfc31ab30d31a3511324c22c48380a7daf813
4
- data.tar.gz: af221ef98f7d0f5f4c321a7f795455d8c03cfbb4
3
+ metadata.gz: e0dde9fafa6d13f604e06b79bc3d7714698829c4
4
+ data.tar.gz: 7052900a02666fa5ea8a85997073a75bcee40cce
5
5
  SHA512:
6
- metadata.gz: f5b91d698a7e54ff9353862f75fd443ebb92a85533d55c8eb9825b9ce7b00734c352f4731327f53506bc6095e217c6a714deea61e3443af148d54381771d1499
7
- data.tar.gz: 35c982bad6e284756c23282cf02958ba6ce59254a5d11ced54bd95817dcb21ed85aced7f2aec6ccb70cdba921814cba2a531b19d0b42c369f490faf848ea84db
6
+ metadata.gz: 4549b4ab18d247874a2ae1d9b3f9eaba6ee3201f63a923a3ad4616bc3f46dc15515e4c703c999ffddfed99e5cb967bb51e535cdf2b1812a32e5d22a3afc638a1
7
+ data.tar.gz: b7cab761d44df23c0a08e256d24f8538ceb7a14372db3cafb6474f0feafafc9fa3509d0a6d3a986c913ef30bf67c718418cccb2b52642103e80fd2d39c446fd5
data/README.md CHANGED
@@ -7,10 +7,10 @@ here is a gem to deal with that. Now you CAN write your code first and then GENE
7
7
  right! To repeat, this gem allows you to write your code first and then automatically generate tests using the code
8
8
  you've written in a straightfoward manner!
9
9
 
10
- On a serious note, this gem allows you to generate tests template much better than those generated by default
11
- for various frameworks. It is also useful for "recording" current behavior of existing components in order
12
- to prepare for refactoring. As a bonus it also exposes an Object Deconstructor which allows you, given
13
- any object, to obtain a ruby code on how it was created.
10
+ On a serious note, this gem allows you to generate tests template used for "characterization tests"
11
+ much better than those generated by default for various frameworks. It is also useful for "recording"
12
+ current behavior of existing components in order to prepare for refactoring. As a bonus it also exposes
13
+ an Object Deconstructor which allows you, given any object, to obtain a ruby code on how it was created.
14
14
 
15
15
 
16
16
  ## Table of Contents
@@ -363,7 +363,7 @@ should generate the following in rspec
363
363
  Too lazy to generate rspec-mocks stubs? Let the Pretentious gem do it for you.
364
364
 
365
365
  Simply call the _stub method on a class and pass the classes you want to generate
366
- stubs for when passing calling spec_for (see below):
366
+ stubs for when passing calling spec_for or minitest_for (see below):
367
367
 
368
368
  ```ruby
369
369
  Pretentious.spec_for(TestClass._stub(ClassUsedByTestClass)) do
@@ -375,6 +375,7 @@ end
375
375
 
376
376
  should auto generate the stub like this:
377
377
 
378
+
378
379
  ```ruby
379
380
  it 'should pass current expectations' do
380
381
 
@@ -388,6 +389,30 @@ it 'should pass current expectations' do
388
389
  end
389
390
  ```
390
391
 
392
+ For minitest it returns something like:
393
+
394
+ ```ruby
395
+ class Scenario2 < TestTestClassForMocks
396
+ def setup
397
+ @fixture = TestClassForMocks.new
398
+ end
399
+
400
+ def test_current_expectation
401
+
402
+ var_2174209040 = {val: 1, str: "hello world", message: "a message"}
403
+
404
+ TestMockSubClass.stub_any_instance(:return_hash, var_2174209040) do
405
+ #TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
406
+ assert_equal var_2174209040, @fixture.method_with_usage3("a message")
407
+
408
+ end
409
+
410
+ end
411
+ end
412
+ ```
413
+
414
+ Note: Stubbing on minitest requires the minitest-stub_any_instance gem.
415
+
391
416
  stubs that return different values every call are automatically detected an the appropriate rspec stub return
392
417
  is generated (similar to below):
393
418
 
@@ -404,6 +429,8 @@ Pretentious.spec_for(TestClass._stub(ClassUsedByTestClass, AnotherClassUsedByTes
404
429
  end
405
430
  ```
406
431
 
432
+ Note: different return values are only supported on RSpec for now
433
+
407
434
  ## Object Deconstruction Utility
408
435
 
409
436
  As Pretentious as the gem is, there are other uses other than generating tests specs. Tools are also available to
data/example.rb CHANGED
@@ -17,37 +17,38 @@ Pretentious.spec_for(Fibonacci) do
17
17
 
18
18
  end
19
19
 
20
- Pretentious.spec_for(TestClass1, TestClass2, TestClass3, TestClass4) do
21
- another_object = TestClass1.new("test")
22
- test_class_one = TestClass1.new({hello: "world", test: another_object, arr_1: [1,2,3,4,5, another_object],
23
- sub_hash: {yes: true, obj: another_object}})
24
- test_class_two = TestClass2.new("This is message 2")
20
+ [:spec_for, :minitest_for].each do |method|
21
+ Pretentious.send(method, TestClass1, TestClass2, TestClass3, TestClass4) do
22
+ another_object = TestClass1.new("test")
23
+ test_class_one = TestClass1.new({hello: "world", test: another_object, arr_1: [1,2,3,4,5, another_object],
24
+ sub_hash: {yes: true, obj: another_object}})
25
+ test_class_two = TestClass2.new("This is message 2")
25
26
 
26
- class_to_test = TestClass3.new(test_class_one, test_class_two)
27
- class_to_test.show_messages
27
+ class_to_test = TestClass3.new(test_class_one, test_class_two)
28
+ class_to_test.show_messages
28
29
 
29
- class_to_test = TestClass3.new(test_class_one, test_class_two)
30
- class_to_test.show_messages
30
+ class_to_test = TestClass3.new(test_class_one, test_class_two)
31
+ class_to_test.show_messages
31
32
 
32
- class_to_test4 = TestClass4.new {
33
- another_object.message
34
- }
33
+ class_to_test4 = TestClass4.new {
34
+ another_object.message
35
+ }
35
36
 
36
- test_class_one.set_block { |message|
37
- message
38
- }
37
+ test_class_one.set_block { |message|
38
+ message
39
+ }
39
40
 
40
- test_class_one.call_block {
41
- class_to_test4.message
42
- }
41
+ test_class_one.call_block {
42
+ class_to_test4.message
43
+ }
43
44
 
44
- begin
45
- test_class_one.something_is_wrong
46
- rescue Exception=>e
47
- end
48
-
49
- test_class_one.just_returns_true
45
+ begin
46
+ test_class_one.something_is_wrong
47
+ rescue Exception=>e
48
+ end
50
49
 
50
+ test_class_one.just_returns_true
51
+ end
51
52
  end
52
53
 
53
54
  Pretentious.spec_for(Digest::MD5) do
@@ -55,15 +56,17 @@ Pretentious.spec_for(Digest::MD5) do
55
56
  Digest::MD5.hexdigest(sample)
56
57
  end
57
58
 
58
- Pretentious.spec_for(TestClassForMocks._stub(TestMockSubClass)) do
59
- instance = TestClassForMocks.new
60
- instance.method_with_assign = "test"
61
- instance.method_with_usage
62
- instance.method_with_usage2
63
- instance.method_with_usage4
59
+ [:spec_for, :minitest_for].each do |m|
60
+ Pretentious.send(m, TestClassForMocks._stub(TestMockSubClass)) do
61
+ instance = TestClassForMocks.new
62
+ instance.method_with_assign = "test"
63
+ instance.method_with_usage
64
+ instance.method_with_usage2
65
+ instance.method_with_usage4
64
66
 
65
- instance2 = TestClassForMocks.new
66
- instance2.method_with_usage3("a message")
67
+ instance2 = TestClassForMocks.new
68
+ instance2.method_with_usage3("a message")
69
+ end
67
70
  end
68
71
 
69
72
  Pretentious.spec_for(TestClassForAutoStub._stub(ClassUsedByTestClass)) do
@@ -19,7 +19,7 @@ class Pretentious::MinitestGenerator
19
19
  end
20
20
 
21
21
  def buffer(line, level = 0)
22
- @output_buffer << "#{indentation(level)}#{line}\n"
22
+ @output_buffer << "#{indentation(level)}#{line}\n" if !line.nil? && line.strip != ''
23
23
  end
24
24
 
25
25
  def whitespace(level = 0)
@@ -28,7 +28,8 @@ class Pretentious::MinitestGenerator
28
28
 
29
29
  def begin_spec(test_class)
30
30
  @test_class = test_class
31
- buffer("require 'test_helper'")
31
+ buffer("#This file was automatically generated by the pretentious gem")
32
+ buffer("require 'minitest_helper'")
32
33
  buffer('require "minitest/autorun"')
33
34
  whitespace
34
35
  buffer("class Test#{test_class.name} < Minitest::Test")
@@ -64,17 +65,17 @@ class Pretentious::MinitestGenerator
64
65
  end
65
66
 
66
67
  block_source = if !block.nil? && block.is_a?(Pretentious::RecordedProc)
67
- get_block_source(block, test_instance.init_let_variables, declarations, @_indentation * 2)
68
+ get_block_source(block, test_instance.init_let_variables, declarations, @_indentation.length * 2)
68
69
  else
69
70
  ''
70
71
  end
71
72
 
72
73
  if (dependencies.size > 0)
73
- buffer(declare_dependencies(dependencies, test_instance.init_let_variables, 2 * @_indentation.length, declarations))
74
+ buffer(declare_dependencies(dependencies, test_instance.init_let_variables, 2, declarations))
74
75
  end
75
76
 
76
77
  if (args.size > 0)
77
- buffer("@fixture = #{test_instance.test_class.name}.new(#{params_generator(args, test_instance.init_let_variables, declarations)})#{block_source}",3)
78
+ buffer("@fixture = #{test_instance.test_class.name}.new(#{params_generator(args, test_instance.init_let_variables, declarations)})#{block_source}",2)
78
79
  else
79
80
  buffer("@fixture = #{test_instance.test_class.name}.new#{block_source}",2)
80
81
  end
@@ -109,6 +110,7 @@ class Pretentious::MinitestGenerator
109
110
  end
110
111
 
111
112
  def generate_expectation(fixture, method, let_variables, declarations, params, block, result)
113
+ str = ""
112
114
  block_source = if !block.nil? && block.is_a?(Pretentious::RecordedProc)
113
115
  get_block_source(block, let_variables, declarations, @_indentation * 2)
114
116
  else
@@ -119,16 +121,18 @@ class Pretentious::MinitestGenerator
119
121
  "#{fixture}.#{method.to_s}(#{params_generator(params, let_variables, declarations)})#{block_source}"
120
122
  else
121
123
  stmt = []
122
- stmt << "#{fixture}.#{method.to_s}"
123
- stmt << "#{block_source}" unless block_source.empty?
124
+ m_stmt = "#{fixture}.#{method.to_s}"
125
+ m_stmt << "(#{block_source})" unless block_source.empty?
126
+ stmt << m_stmt
124
127
  stmt.join(' ')
125
128
  end
126
129
 
127
130
  if (result.kind_of? Exception)
128
- buffer(pick_matcher(statement, result), 2)
131
+ str << pick_matcher(statement, result)
129
132
  else
130
- buffer(pick_matcher(statement, result), 2)
133
+ str << pick_matcher(statement, result)
131
134
  end
135
+ str
132
136
  end
133
137
 
134
138
  def generate_specs(context_prefix, fixture, method_calls, let_variables)
@@ -169,13 +173,26 @@ class Pretentious::MinitestGenerator
169
173
  end
170
174
 
171
175
  if (params_collection.size > 0)
172
- buffer(declare_dependencies(params_collection, let_variables, 3 * @_indentation.length, declaration))
176
+ buffer(declare_dependencies(params_collection, let_variables, 2, declaration))
173
177
  end
174
178
 
175
179
  if (mocks_collection.keys.size > 0)
176
- buffer(generate_rspec_stub(mocks_collection, let_variables, 3 * @_indentation.length, declaration))
180
+ buffer(generate_minitest_stub(mocks_collection, let_variables, 2, declaration) { |indentation|
181
+ generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, indentation)
182
+ },0)
183
+ else
184
+ buffer(generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, 2), 0)
177
185
  end
178
186
 
187
+ buffer("end", 1)
188
+ end
189
+
190
+ def generate_test_scenarios(fixture, method_calls, context_prefix, let_variables, declaration, indentation_level)
191
+ str = ""
192
+ indentation = ""
193
+ indentation_level.times {
194
+ indentation << @_indentation
195
+ }
179
196
  method_calls.each_key do |k|
180
197
  info_blocks_arr = method_calls[k]
181
198
 
@@ -187,31 +204,40 @@ class Pretentious::MinitestGenerator
187
204
  ""
188
205
  end
189
206
 
190
- buffer("# #{context_prefix}#{k} #{params_desc_str} should return #{block[:result]}", 3)
191
- generate_expectation(fixture, k, let_variables, declaration, block[:params], block[:block], block[:result])
207
+ str << "#{indentation}##{context_prefix}#{k} #{params_desc_str} should return #{block[:result]}\n"
208
+ str << "#{indentation}#{generate_expectation(fixture, k, let_variables, declaration, block[:params], block[:block], block[:result])}\n\n"
192
209
 
193
- whitespace
194
210
  end
195
-
196
-
197
211
  end
198
- buffer("end", 1)
212
+ str
199
213
  end
200
214
 
201
- def generate_rspec_stub(mocks_collection, let_variables, indentation_level , declaration)
202
- indentation = ""
215
+ def generate_minitest_stub(mocks_collection, let_variables, indentation_level , declaration, &block)
203
216
 
204
- indentation_level.times {
205
- indentation << ' '
206
- }
207
217
  str = ""
218
+ current_indentation = indentation_level
219
+
208
220
  mocks_collection.each do |k,values|
221
+ indentation = ""
222
+ current_indentation.times {
223
+ indentation << @_indentation
224
+ }
209
225
  vals = values.collect { |v| Pretentious::value_ize(v[:result], let_variables, declaration) }
226
+ str << "#{indentation}#{values[0][:class].to_s}.stub_any_instance(:#{values[0][:method].to_s}, #{vals[0]}) do\n"
227
+ current_indentation+=1
228
+ end
210
229
 
211
- #check if all vals are the same and just use one
212
- vals = [vals[0]] if vals.uniq.size == 1
230
+ str << block.call(current_indentation)
213
231
 
214
- str << "#{indentation}allow_any_instance_of(#{values[0][:class].to_s}).to receive(:#{values[0][:method].to_s}).and_return(#{vals.join(', ')})\n"
232
+ current_indentation -= 1
233
+
234
+ mocks_collection.each do |k, values|
235
+ indentation = ""
236
+ current_indentation.times {
237
+ indentation << @_indentation
238
+ }
239
+ str << "#{indentation}end\n"
240
+ current_indentation -= 1
215
241
  end
216
242
  str
217
243
  end
@@ -248,7 +274,7 @@ class Pretentious::MinitestGenerator
248
274
  elsif result.is_a? FalseClass
249
275
  "refute #{statement}"
250
276
  elsif result.nil?
251
- "assert_nil #{Pretentious::value_ize(result, nil, nil)}"
277
+ "assert_nil #{statement}"
252
278
  elsif result.kind_of? Exception
253
279
  "assert_raises(#{result.class.to_s}) { #{statement} }"
254
280
  else
@@ -284,7 +310,7 @@ class Pretentious::MinitestGenerator
284
310
  deconstructor = Pretentious::Deconstructor.new
285
311
 
286
312
  args = remove_primitives(args, variable_map)
287
- deconstructor.deconstruct_to_ruby(level, variable_map, declarations, *args)
313
+ deconstructor.deconstruct_to_ruby(level * @_indentation.length, variable_map, declarations, *args)
288
314
  end
289
315
 
290
316
  def remove_primitives(args, let_lookup)
@@ -315,10 +341,11 @@ class Pretentious::MinitestGenerator
315
341
  end
316
342
 
317
343
  def self.helper(output_folder)
318
- filename = File.join(output_folder,"test_helper.rb")
344
+ filename = File.join(output_folder,"minitest_helper.rb")
319
345
  unless File.exists?(filename)
320
- File.open(filename, 'w') {
321
- |f| f.write("#Place your requires here")
346
+ File.open(filename, 'w') { |f|
347
+ f.write("# Place your requires here\n")
348
+ f.write("require 'minitest/stub_any_instance'\n")
322
349
  }
323
350
  puts "#{filename}"
324
351
  end
@@ -27,6 +27,7 @@ class Pretentious::RspecGenerator
27
27
  end
28
28
 
29
29
  def begin_spec(test_class)
30
+ buffer("#This file was automatically generated by the pretentious gem")
30
31
  buffer("require 'spec_helper'")
31
32
  whitespace
32
33
  buffer("RSpec.describe #{test_class.name} do")
@@ -1,3 +1,3 @@
1
1
  module Pretentious
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
data/pretentious.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.add_dependency "binding_of_caller", "~> 0.7.2"
21
21
  spec.add_development_dependency "bundler", "~> 1.7"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "rspec"
24
- spec.add_development_dependency "minitest"
23
+ spec.add_development_dependency "rspec", "~> 3.0"
24
+ spec.add_development_dependency "minitest", "~> 5.7"
25
+ spec.add_development_dependency "minitest-stub_any_instance", "~> 1.0"
25
26
  end
data/run_test.sh CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  git add .
4
4
  gem build pretentious.gemspec
5
- gem install pretentious-0.0.8.gem
5
+ gem install pretentious-0.1.0.gem
6
6
  ruby test/test_generator.rb
@@ -1,3 +1,4 @@
1
+ #This file was automatically generated by the pretentious gem
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Fibonacci do
data/spec/m_d5_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ #This file was automatically generated by the pretentious gem
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe Digest::MD5 do
@@ -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: "require 'test_helper'\nrequire \"minitest/autorun\"\n\nclass TestFibonacci < Minitest::Test\nend\n\n def test_current_expectation\n\n # Fibonacci::say_hello should return hello\n assert_equal \"hello\", Fibonacci.say_hello\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\n #Fibonacci::say_hello should return hello\n assert_equal \"hello\", Fibonacci.say_hello\n\n\n end\n",
22
22
  generator: Pretentious::MinitestGenerator }})
23
23
  end
24
24
 
@@ -19,7 +19,7 @@ RSpec.describe Pretentious::Generator do
19
19
  Fibonacci.say_hello
20
20
  end
21
21
  expect(result).to eq({
22
- Fibonacci =>{output: "require '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\nend\n",
22
+ 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\nend\n",
23
23
  generator: Pretentious::RspecGenerator}})
24
24
  end
25
25
 
@@ -1,3 +1,4 @@
1
+ #This file was automatically generated by the pretentious gem
1
2
  require 'spec_helper'
2
3
 
3
4
  RSpec.describe TestClassForAutoStub do
@@ -11,7 +12,7 @@ RSpec.describe TestClassForAutoStub do
11
12
 
12
13
  it 'should pass current expectations' do
13
14
 
14
- var_2173604520 = ["Hello Glorious world", "HI THERE!!!!"]
15
+ var_2173901020 = ["Hello Glorious world", "HI THERE!!!!"]
15
16
 
16
17
  allow_any_instance_of(ClassUsedByTestClass).to receive(:stubbed_method).and_return("Hello Glorious world")
17
18
  allow_any_instance_of(AnotherClassUsedByTestClass).to receive(:get_message).and_return("HI THERE!!!!")
@@ -11,7 +11,7 @@ RSpec.describe TestClassForMocks do
11
11
 
12
12
  it 'should pass current expectations' do
13
13
 
14
- var_2173778440 = [2, 3, 4, 5]
14
+ var_2166690320 = [2, 3, 4, 5]
15
15
 
16
16
  allow_any_instance_of(TestMockSubClass).to receive(:test_method).and_return("a return string")
17
17
  allow_any_instance_of(TestMockSubClass).to receive(:increment_val).and_return(2, 3, 4, 5)
@@ -40,12 +40,12 @@ RSpec.describe TestClassForMocks do
40
40
 
41
41
  it 'should pass current expectations' do
42
42
 
43
- var_2173712460 = {val: 1, str: "hello world", message: "a message"}
43
+ var_2166592900 = {val: 1, str: "hello world", message: "a message"}
44
44
 
45
- allow_any_instance_of(TestMockSubClass).to receive(:return_hash).and_return(var_2173712460)
45
+ allow_any_instance_of(TestMockSubClass).to receive(:return_hash).and_return(var_2166592900)
46
46
 
47
47
  # TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
48
- expect( @fixture.method_with_usage3("a message") ).to eq(var_2173712460)
48
+ expect( @fixture.method_with_usage3("a message") ).to eq(var_2166592900)
49
49
 
50
50
  end
51
51
  end
@@ -0,0 +1,3 @@
1
+ # Place your requires here
2
+ require 'minitest/stub_any_instance'
3
+ require_relative '../test_classes'
data/test/test_meme.rb CHANGED
@@ -1,4 +1,5 @@
1
- require 'test_helper'
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
2
3
  require "minitest/autorun"
3
4
 
4
5
  class TestMeme < Minitest::Test
@@ -11,12 +12,13 @@ class Scenario1 < TestMeme
11
12
 
12
13
  def test_current_expectation
13
14
 
14
- # Meme#i_can_has_cheezburger? should return OHAI!
15
+ #Meme#i_can_has_cheezburger? should return OHAI!
15
16
  assert_equal "OHAI!", @fixture.i_can_has_cheezburger?
16
17
 
17
- # Meme#will_it_blend? should return YES!
18
+ #Meme#will_it_blend? should return YES!
18
19
  assert_equal "YES!", @fixture.will_it_blend?
19
20
 
21
+
20
22
  end
21
23
  end
22
24
 
@@ -0,0 +1,67 @@
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
3
+ require "minitest/autorun"
4
+
5
+ class TestTestClass1 < Minitest::Test
6
+ end
7
+
8
+ class Scenario1 < TestTestClass1
9
+ def setup
10
+ @fixture = TestClass1.new("test")
11
+ end
12
+
13
+ def test_current_expectation
14
+
15
+ #TestClass1#message should return test
16
+ assert_equal "test", @fixture.message
17
+
18
+
19
+ end
20
+ end
21
+
22
+ class Scenario2 < TestTestClass1
23
+ def setup
24
+ var_2175164340 = "test"
25
+ another_object = TestClass1.new(var_2175164340)
26
+ var_2175159080 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
27
+
28
+ @fixture = TestClass1.new(var_2175159080)
29
+ end
30
+
31
+ def test_current_expectation
32
+
33
+ var_2175164340 = "test"
34
+ another_object = TestClass1.new(var_2175164340)
35
+ var_2175159080 = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
36
+ var_2175057940 = Proc.new { |message|
37
+ var_2175159080
38
+ }
39
+
40
+ e = nil
41
+ var_2175045040 = Proc.new {
42
+ # Variable return values ... can't figure out what goes in here...
43
+ }
44
+
45
+
46
+ #TestClass1#print_message should return
47
+ assert_nil @fixture.print_message
48
+
49
+ #TestClass1#print_message should return
50
+ assert_nil @fixture.print_message
51
+
52
+ #TestClass1#set_block should return #<Pretentious::RecordedProc:0x00000103491d68@example.rb:73>
53
+ assert_equal var_2175057940, @fixture.set_block( &var_2175057940)
54
+
55
+ #TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x000001034cbe00 @message="test", @_init_arguments={:params=>["test"]}, @_variable_names={2175164340=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x000001034cbe00 @message="test", @_init_arguments={:params=>["test"]}, @_variable_names={2175164340=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x000001034cbe00 @message="test", @_init_arguments={:params=>["test"]}, @_variable_names={2175164340=>"message"}>}}
56
+ assert_equal var_2175159080, @fixture.call_block( &var_2175045040)
57
+
58
+ #TestClass1#something_is_wrong should return StandardError
59
+ assert_raises(StandardError) { @fixture.something_is_wrong }
60
+
61
+ #TestClass1#just_returns_true should return true
62
+ assert @fixture.just_returns_true
63
+
64
+
65
+ end
66
+ end
67
+
@@ -0,0 +1,24 @@
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
3
+ require "minitest/autorun"
4
+
5
+ class TestTestClass2 < Minitest::Test
6
+ end
7
+
8
+ class Scenario1 < TestTestClass2
9
+ def setup
10
+ @fixture = TestClass2.new("This is message 2")
11
+ end
12
+
13
+ def test_current_expectation
14
+
15
+ #TestClass2#print_message should return
16
+ assert_nil @fixture.print_message
17
+
18
+ #TestClass2#print_message should return
19
+ assert_nil @fixture.print_message
20
+
21
+
22
+ end
23
+ end
24
+
@@ -0,0 +1,49 @@
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
3
+ require "minitest/autorun"
4
+
5
+ class TestTestClass3 < Minitest::Test
6
+ end
7
+
8
+ class Scenario1 < TestTestClass3
9
+ def setup
10
+ var_2175164340 = "test"
11
+ another_object = TestClass1.new(var_2175164340)
12
+ args = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
13
+ test_class_one = TestClass1.new(args)
14
+ args_1 = "This is message 2"
15
+ test_class_two = TestClass2.new(args_1)
16
+
17
+ @fixture = TestClass3.new(test_class_one, test_class_two)
18
+ end
19
+
20
+ def test_current_expectation
21
+
22
+ #TestClass3#show_messages should return awesome!!!
23
+ assert_equal "awesome!!!", @fixture.show_messages
24
+
25
+
26
+ end
27
+ end
28
+
29
+ class Scenario2 < TestTestClass3
30
+ def setup
31
+ var_2175164340 = "test"
32
+ another_object = TestClass1.new(var_2175164340)
33
+ args = {hello: "world", test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: {yes: true, obj: another_object}}
34
+ test_class_one = TestClass1.new(args)
35
+ args_1 = "This is message 2"
36
+ test_class_two = TestClass2.new(args_1)
37
+
38
+ @fixture = TestClass3.new(test_class_one, test_class_two)
39
+ end
40
+
41
+ def test_current_expectation
42
+
43
+ #TestClass3#show_messages should return awesome!!!
44
+ assert_equal "awesome!!!", @fixture.show_messages
45
+
46
+
47
+ end
48
+ end
49
+
@@ -0,0 +1,23 @@
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
3
+ require "minitest/autorun"
4
+
5
+ class TestTestClass4 < Minitest::Test
6
+ end
7
+
8
+ class Scenario1 < TestTestClass4
9
+ def setup
10
+ var_2175164340 = "test"
11
+ var_2175076740 = Proc.new {
12
+ "test"
13
+ }
14
+
15
+
16
+ @fixture = TestClass4.new &var_2175076740
17
+ end
18
+
19
+ def test_current_expectation
20
+
21
+ end
22
+ end
23
+
@@ -0,0 +1,54 @@
1
+ #This file was automatically generated by the pretentious gem
2
+ require 'minitest_helper'
3
+ require "minitest/autorun"
4
+
5
+ class TestTestClassForMocks < Minitest::Test
6
+ end
7
+
8
+ class Scenario1 < TestTestClassForMocks
9
+ def setup
10
+ @fixture = TestClassForMocks.new
11
+ end
12
+
13
+ def test_current_expectation
14
+
15
+ var_2162327080 = [2, 3, 4, 5]
16
+
17
+ TestMockSubClass.stub_any_instance(:test_method, "a return string") do
18
+ TestMockSubClass.stub_any_instance(:increment_val, 2) do
19
+ #TestClassForMocks#method_with_assign= when passed params2 = "test" should return test
20
+ assert_equal "test", @fixture.method_with_assign=("test")
21
+
22
+ #TestClassForMocks#method_with_usage should return a return string
23
+ assert_equal "a return string", @fixture.method_with_usage
24
+
25
+ #TestClassForMocks#method_with_usage2 should return [2, 3, 4, 5]
26
+ assert_equal [2, 3, 4, 5], @fixture.method_with_usage2
27
+
28
+ #TestClassForMocks#method_with_usage4 should return a return string
29
+ assert_equal "a return string", @fixture.method_with_usage4
30
+
31
+ end
32
+ end
33
+
34
+ end
35
+ end
36
+
37
+ class Scenario2 < TestTestClassForMocks
38
+ def setup
39
+ @fixture = TestClassForMocks.new
40
+ end
41
+
42
+ def test_current_expectation
43
+
44
+ var_2174209040 = {val: 1, str: "hello world", message: "a message"}
45
+
46
+ TestMockSubClass.stub_any_instance(:return_hash, var_2174209040) do
47
+ #TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
48
+ assert_equal var_2174209040, @fixture.method_with_usage3("a message")
49
+
50
+ end
51
+
52
+ end
53
+ end
54
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretentious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Emmanuel Dayo
@@ -56,30 +56,44 @@ dependencies:
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '5.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '5.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest-stub_any_instance
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: '1.0'
83
97
  description: Do you have a pretentious boss or dev lead that pushes you to embrace
84
98
  tdd but for reasons hate it or them? here is a gem to deal with that.
85
99
  email:
@@ -118,9 +132,14 @@ files:
118
132
  - spec/test_class4_spec.rb
119
133
  - spec/test_class_for_auto_stub_spec.rb
120
134
  - spec/test_class_for_mocks_spec.rb
135
+ - test/minitest_helper.rb
121
136
  - test/test_generator.rb
122
- - test/test_helper.rb
123
137
  - test/test_meme.rb
138
+ - test/test_test_class1.rb
139
+ - test/test_test_class2.rb
140
+ - test/test_test_class3.rb
141
+ - test/test_test_class4.rb
142
+ - test/test_test_class_for_mocks.rb
124
143
  - test_classes.rb
125
144
  homepage: https://github.com/jedld/pretentious
126
145
  licenses:
@@ -161,7 +180,12 @@ test_files:
161
180
  - spec/test_class4_spec.rb
162
181
  - spec/test_class_for_auto_stub_spec.rb
163
182
  - spec/test_class_for_mocks_spec.rb
183
+ - test/minitest_helper.rb
164
184
  - test/test_generator.rb
165
- - test/test_helper.rb
166
185
  - test/test_meme.rb
186
+ - test/test_test_class1.rb
187
+ - test/test_test_class2.rb
188
+ - test/test_test_class3.rb
189
+ - test/test_test_class4.rb
190
+ - test/test_test_class_for_mocks.rb
167
191
  has_rdoc:
data/test/test_helper.rb DELETED
@@ -1 +0,0 @@
1
- require_relative '../test_classes'