pretentious 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +13 -1
  4. data/Rakefile +2 -2
  5. data/bin/pretentious +49 -0
  6. data/lib/pretentious.rb +1 -0
  7. data/lib/pretentious/deconstructor.rb +1 -1
  8. data/lib/pretentious/trigger.rb +2 -5
  9. data/lib/pretentious/utils/file_writer.rb +30 -0
  10. data/lib/pretentious/version.rb +1 -1
  11. data/run_test.sh +1 -1
  12. data/spec/{fibonacci_spec.rb → generated/fibonacci_spec.rb} +0 -0
  13. data/spec/{m_d5_spec.rb → generated/m_d5_spec.rb} +0 -0
  14. data/spec/generated/spec_helper.rb +1 -0
  15. data/spec/{test_class1_spec.rb → generated/test_class1_spec.rb} +9 -9
  16. data/spec/{test_class2_spec.rb → generated/test_class2_spec.rb} +0 -0
  17. data/spec/{test_class3_spec.rb → generated/test_class3_spec.rb} +4 -4
  18. data/spec/{test_class4_spec.rb → generated/test_class4_spec.rb} +2 -2
  19. data/spec/{test_class_for_auto_stub_spec.rb → generated/test_class_for_auto_stub_spec.rb} +1 -1
  20. data/spec/{test_class_for_mocks_spec.rb → generated/test_class_for_mocks_spec.rb} +4 -4
  21. data/spec/utils/filewriter_spec.rb +26 -0
  22. data/test/generated/minitest_helper.rb +2 -0
  23. data/test/{test_fibonacci.rb → generated/test_fibonacci.rb} +0 -0
  24. data/test/{test_m_d5.rb → generated/test_m_d5.rb} +0 -0
  25. data/test/{test_meme.rb → generated/test_meme.rb} +0 -0
  26. data/test/{test_test_class1.rb → generated/test_test_class1.rb} +9 -9
  27. data/test/{test_test_class2.rb → generated/test_test_class2.rb} +0 -0
  28. data/test/{test_test_class3.rb → generated/test_test_class3.rb} +4 -4
  29. data/test/{test_test_class4.rb → generated/test_test_class4.rb} +2 -2
  30. data/test/{test_test_class_for_mocks.rb → generated/test_test_class_for_mocks.rb} +4 -4
  31. data/test/test_generator.rb +1 -1
  32. metadata +46 -37
  33. data/bin/ddtgen +0 -50
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 573e7785c064f86ac8001339041dbb8387cb6679
4
- data.tar.gz: aae975ba4c83fba283e0758a456674b0c5f0b86d
3
+ metadata.gz: 93b54d67b903a92f2ceb44c3802c79692c0196ad
4
+ data.tar.gz: 88864af8c6c668bcb5f56e365b9a89f35e83cf9b
5
5
  SHA512:
6
- metadata.gz: fb6534fe86d6865035b3f5e160275dbdd194094920afeba24157820a1a0fcd87c78cb78246fe8139440369b96b4120f201c27a9af58724c7a20b7876f7538e77
7
- data.tar.gz: dd0b37c00a1375b4323dd3041c9f0ed866499a3b38a58c86b9b03cd9631fd254a76d7acd6c7c73a7def5ea6e303ce7e059bf303394e01968546b0fc6dc4de0d6
6
+ metadata.gz: 213be948569e21541d057647ac45aefcff46fbef223c84a4d5ea2709f39f1e36b6919627e7f346a2d418e41c255d392af7b4d4423f676b9887670d96fc32e573
7
+ data.tar.gz: bd240b81e83fdf30fc91e7f993c8d778fad178519b03226c42280b3a1e1675bfb6b369b78a94e2726ba278a14199ece040de71be3789af31817079f3d433f58d
@@ -0,0 +1,8 @@
1
+ ## 0.1.8 (2015-12-07)
2
+
3
+ Bugfixes:
4
+
5
+ Features:
6
+
7
+ - renamed ddtgen cli to pretentious
8
+ - generated files are now placed on their own sub folder
data/README.md CHANGED
@@ -101,7 +101,7 @@ end
101
101
 
102
102
  Save your file and then switch to the terminal to invoke:
103
103
 
104
- $ ddtgen example.rb
104
+ $ pretentious example.rb
105
105
 
106
106
  This will automatically generate rspec tests for Fibonacci under /spec of the current working directory.
107
107
 
@@ -293,6 +293,18 @@ end
293
293
  # spec files will be written to the project root
294
294
  ```
295
295
 
296
+ or, use the FileWriter utility to write it to a file
297
+
298
+ ```ruby
299
+ # initializers/pretentious.rb
300
+
301
+ if Rails.env.test? #IMPORTANT don't run this when you don't need it!
302
+ Pretentious.on(UsersController).method_called(:login).spec_for(UserAuthentication) do |results|
303
+ file_writer = Pretentious::FileWriter.new
304
+ file_writer.write UserAuthenticaion, results[UserAuthenticaion]
305
+ end
306
+ end
307
+ ```
296
308
  IMPORTANT: If using rails or if it is part of a larger app, make sure to enable this only when you intend to generate specs!
297
309
  delete the initializer or comment the code out when it is not needed.
298
310
 
data/Rakefile CHANGED
@@ -10,5 +10,5 @@ task :test => :spec
10
10
  desc "Runs the minitest suite"
11
11
  task :minitest do
12
12
  $: << './test'
13
- Dir.glob('./test/test_*.rb').each { |file| require file}
14
- end
13
+ Dir.glob('./test/**/test_*.rb').each { |file| require file}
14
+ end
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'pretentious'
4
+ require 'optparse'
5
+ require 'ripper'
6
+ require 'readline'
7
+ require 'json'
8
+ require 'fileutils'
9
+
10
+ output_folder = nil
11
+ output_subfolder =nil
12
+
13
+ # pretentious example.rb -t rspec -o rspec/
14
+ options = OptionParser.new do |o|
15
+ o.banner =
16
+ "Usage: pretentious FILENAME [options] # Generates tests using the specified example file\n"
17
+ o.separator ''
18
+ o.separator "options:"
19
+ o.on('-n=namespace', '--namespace=NAMESPACE',
20
+ 'sub folder to place the generated files in (defaults to generated)') { |b| output_subfolder }
21
+ o.on('-o=OUTPUT_DIR', '--output-dir=OUTPUT_DIR',
22
+ 'folder to place the files in -- defaults to spec (RSpec) or test (minitest)') { |b| output_folder = b}
23
+ o.parse!
24
+ end
25
+
26
+ filename = ARGV[0]
27
+
28
+ if filename.nil?
29
+ puts 'an example file is required.'
30
+ puts options
31
+ exit(1)
32
+ end
33
+
34
+ example_body = ''
35
+
36
+ index = 0
37
+ File.open(filename, "r") do |f|
38
+ f.each_line do |line|
39
+ example_body << "#{line}\n"
40
+ end
41
+ end
42
+
43
+ eval(example_body, binding, filename, 1)
44
+
45
+ # collect results and write them
46
+ puts "writing tests to #{output_folder}"
47
+ filewriter = Pretentious::FileWriter.new(output_folder: output_folder,
48
+ spec_output_folder: output_subfolder)
49
+ filewriter.write_results(Pretentious.last_results)
@@ -8,6 +8,7 @@ require 'pretentious/generator'
8
8
  require 'binding_of_caller'
9
9
  require 'pretentious/deconstructor'
10
10
  require 'pretentious/trigger'
11
+ require 'pretentious/utils/file_writer'
11
12
 
12
13
  Class.class_eval do
13
14
  def _stub(*classes)
@@ -216,7 +216,7 @@ module Pretentious
216
216
 
217
217
  def self.primitive?(value)
218
218
  value.is_a?(String) || value.is_a?(Fixnum) || value.is_a?(TrueClass) || value.is_a?(FalseClass) ||
219
- value.is_a?(NilClass) || value.is_a?(Symbol) || value.is_a?(Class)
219
+ value.is_a?(NilClass) || value.is_a?(Symbol) || value.is_a?(Class)
220
220
  end
221
221
 
222
222
  def self.block_param_names(proc)
@@ -38,11 +38,8 @@ module Pretentious
38
38
  end
39
39
 
40
40
  def self.output_file(result, klass, output_folder)
41
- FileUtils.mkdir_p output_folder
42
- result[:generator].helper(output_folder)
43
- filename = result[:generator].naming(output_folder, klass)
44
- File.open(filename, 'w') { |f| f.write(result[:output]) }
45
- filename
41
+ file_writer = FileWriter.new({ output_folder: output_folder })
42
+ file_writer.write klass, result
46
43
  end
47
44
 
48
45
  private
@@ -0,0 +1,30 @@
1
+ module Pretentious
2
+ # Utility function for saving pretentious test artifacts to a file.
3
+ class FileWriter
4
+ # options for the file writer
5
+ def initialize(options = {})
6
+ @spec_output_folder ||= (options[:spec_output_folder] || 'generated')
7
+ @output_folder = options[:output_folder] || nil
8
+ end
9
+
10
+ def write(klass, result)
11
+ output_folder = result[:generator].location(@output_folder)
12
+ spec_output_folder = File.join(output_folder, @spec_output_folder)
13
+ FileUtils.mkdir_p result[:generator].location(@output_folder)
14
+ FileUtils.mkdir_p spec_output_folder
15
+ result[:generator].helper(output_folder)
16
+ filename = result[:generator].naming(spec_output_folder, klass)
17
+ File.open(filename, 'w') { |f| f.write(result[:output]) }
18
+ filename
19
+ end
20
+
21
+ def write_results(results)
22
+ results.each do |g, result_per_generator|
23
+ puts "#{g}:"
24
+ result_per_generator.each do |klass, result|
25
+ puts write(klass, result)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,4 +1,4 @@
1
1
  # Pretentious - version
2
2
  module Pretentious
3
- VERSION = '0.1.7'
3
+ VERSION = '0.1.8'
4
4
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  git add .
4
4
  gem build pretentious.gemspec
5
- gem install pretentious-0.1.7.gem
5
+ gem install pretentious-0.1.8.gem
6
6
  ruby test/test_generator.rb
@@ -0,0 +1 @@
1
+ # Place your requires here
@@ -21,12 +21,12 @@ RSpec.describe TestClass1 do
21
21
  end
22
22
 
23
23
  it 'should pass current expectations' do
24
- var_14407380 = proc { |message|
24
+ var_2172599780 = proc { |message|
25
25
  @message
26
26
  }
27
27
 
28
- test_class1 = nil
29
- var_14401180 = proc {
28
+ filewriter = nil
29
+ var_2172592820 = proc {
30
30
  # Variable return values ... can't figure out what goes in here...
31
31
  }
32
32
 
@@ -36,11 +36,11 @@ RSpec.describe TestClass1 do
36
36
  # TestClass1#print_message should return
37
37
  expect(@fixture.print_message).to be_nil
38
38
 
39
- # TestClass1#set_block should return #<Pretentious::RecordedProc:0x00000001b78030@example.rb:73>
40
- expect(@fixture.set_block &var_14407380).to eq(var_14407380)
39
+ # TestClass1#set_block should return #<Pretentious::RecordedProc:0x00000102fe47e8@example.rb:73>
40
+ expect(@fixture.set_block &var_2172599780).to eq(var_2172599780)
41
41
 
42
- # TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x00000001bab818 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={14507340=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x00000001bab818 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={14507340=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x00000001bab818 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={14507340=>"message"}>}}
43
- expect(@fixture.call_block &var_14401180).to eq(@message)
42
+ # TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x00000102dfcd40 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2171593180=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x00000102dfcd40 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2171593180=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x00000102dfcd40 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2171593180=>"message"}>}}
43
+ expect(@fixture.call_block &var_2172592820).to eq(@message)
44
44
 
45
45
  # TestClass1#something_is_wrong should return StandardError
46
46
  expect { @fixture.something_is_wrong }.to raise_error
@@ -57,7 +57,7 @@ RSpec.describe TestClass1 do
57
57
 
58
58
  it 'should pass current expectations' do
59
59
  another_object = TestClass1.new('test')
60
- # TestClass1#return_self when passed message = #<TestClass1:0x00000001bab818> should return #<TestClass1:0x00000001bab818>
60
+ # TestClass1#return_self when passed message = #<TestClass1:0x00000102dfcd40> should return #<TestClass1:0x00000102dfcd40>
61
61
  expect(@fixture.return_self(another_object)).to eq(another_object)
62
62
  end
63
63
  end
@@ -69,7 +69,7 @@ RSpec.describe TestClass1 do
69
69
  end
70
70
 
71
71
  it 'should pass current expectations' do
72
- # TestClass1#message should return #<TestClass1:0x00000001bab818>
72
+ # TestClass1#message should return #<TestClass1:0x00000102dfcd40>
73
73
  expect(@fixture.message).to eq(@message)
74
74
  end
75
75
  end
@@ -5,8 +5,8 @@ RSpec.describe TestClass3 do
5
5
  context 'Scenario 1' do
6
6
  before do
7
7
  another_object = TestClass1.new('test')
8
- var_14488780 = { hello: 'world', test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: { yes: true, obj: another_object } }
9
- testclass1 = TestClass1.new(var_14488780)
8
+ var_2171643980 = { hello: 'world', test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: { yes: true, obj: another_object } }
9
+ testclass1 = TestClass1.new(var_2171643980)
10
10
  testclass2 = TestClass2.new('This is message 2', nil)
11
11
  @fixture = TestClass3.new(testclass1, testclass2)
12
12
  end
@@ -20,8 +20,8 @@ RSpec.describe TestClass3 do
20
20
  context 'Scenario 2' do
21
21
  before do
22
22
  another_object = TestClass1.new('test')
23
- var_14488780 = { hello: 'world', test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: { yes: true, obj: another_object } }
24
- testclass1 = TestClass1.new(var_14488780)
23
+ var_2171643980 = { hello: 'world', test: another_object, arr_1: [1, 2, 3, 4, 5, another_object], sub_hash: { yes: true, obj: another_object } }
24
+ testclass1 = TestClass1.new(var_2171643980)
25
25
  testclass2 = TestClass2.new('This is message 2', nil)
26
26
  @fixture = TestClass3.new(testclass1, testclass2)
27
27
  end
@@ -5,11 +5,11 @@ RSpec.describe TestClass4 do
5
5
  context 'Scenario 1' do
6
6
  before do
7
7
  var_8 = nil
8
- var_14420780 = proc {
8
+ var_2172496800 = proc {
9
9
  # Variable return values ... can't figure out what goes in here...
10
10
  }
11
11
 
12
- @fixture = TestClass4.new(&var_14420780)
12
+ @fixture = TestClass4.new(&var_2172496800)
13
13
  end
14
14
 
15
15
  it 'should pass current expectations' do
@@ -8,7 +8,7 @@ RSpec.describe TestClassForAutoStub do
8
8
  end
9
9
 
10
10
  it 'should pass current expectations' do
11
- var_20176100 = ['Hello Glorious world', 'HI THERE!!!!']
11
+ var_2183970200 = ['Hello Glorious world', 'HI THERE!!!!']
12
12
  allow_any_instance_of(ClassUsedByTestClass).to receive(:stubbed_method).and_return('Hello Glorious world')
13
13
  allow_any_instance_of(AnotherClassUsedByTestClass).to receive(:get_message).and_return('HI THERE!!!!')
14
14
 
@@ -8,7 +8,7 @@ RSpec.describe TestClassForMocks do
8
8
  end
9
9
 
10
10
  it 'should pass current expectations' do
11
- var_12850500 = [2, 3, 4, 5]
11
+ var_2182775400 = [2, 3, 4, 5]
12
12
  allow_any_instance_of(TestMockSubClass).to receive(:test_method).and_return('a return string')
13
13
  allow_any_instance_of(TestMockSubClass).to receive(:increment_val).and_return(2, 3, 4, 5)
14
14
 
@@ -32,11 +32,11 @@ RSpec.describe TestClassForMocks do
32
32
  end
33
33
 
34
34
  it 'should pass current expectations' do
35
- var_12706260 = { val: 1, str: 'hello world', message: 'a message' }
36
- allow_any_instance_of(TestMockSubClass).to receive(:return_hash).and_return(var_12706260)
35
+ var_2182709200 = { val: 1, str: 'hello world', message: 'a message' }
36
+ allow_any_instance_of(TestMockSubClass).to receive(:return_hash).and_return(var_2182709200)
37
37
 
38
38
  # TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
39
- expect(@fixture.method_with_usage3('a message')).to eq(var_12706260)
39
+ expect(@fixture.method_with_usage3('a message')).to eq(var_2182709200)
40
40
  end
41
41
  end
42
42
 
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Pretentious::FileWriter do
4
+
5
+ before do
6
+ Pretentious.clear_results
7
+ Pretentious.spec_for(TestClass1) do
8
+ message = { test: 'message' }
9
+ object = TestClass1.new(message)
10
+ object.return_self(message)
11
+ end
12
+ @last_results = Pretentious.last_results
13
+ @instance = Pretentious::FileWriter.new({ output: 'generated'})
14
+ end
15
+
16
+ it 'writes the class output to a file' do
17
+ file = double('file')
18
+ allow(Pretentious::RspecGenerator).to receive(:helper)
19
+ expect(File).to receive(:open).with('spec/generated/test_class1_spec.rb', 'w').and_yield(file)
20
+ expect(file).to receive(:write).with(@last_results[:spec][TestClass1][:output])
21
+ expect(FileUtils).to receive(:mkdir_p).with('spec')
22
+ expect(FileUtils).to receive(:mkdir_p).with('spec/generated')
23
+
24
+ @instance.write_results(Pretentious.last_results)
25
+ end
26
+ end
@@ -0,0 +1,2 @@
1
+ # Place your requires here
2
+ require 'minitest/stub_any_instance'
@@ -25,12 +25,12 @@ class TestClass1Scenario2 < TestClass1Test
25
25
  end
26
26
 
27
27
  def test_current_expectation
28
- var_13631520 = proc { |message|
28
+ var_2172317940 = proc { |message|
29
29
  @message
30
30
  }
31
31
 
32
- test_class1 = nil
33
- var_13617120 = proc {
32
+ filewriter = nil
33
+ var_2172155700 = proc {
34
34
  # Variable return values ... can't figure out what goes in here...
35
35
  }
36
36
 
@@ -49,12 +49,12 @@ class TestClass1Scenario2 < TestClass1Test
49
49
  assert_nil @fixture.print_message
50
50
 
51
51
 
52
- # TestClass1#set_block should return #<Pretentious::RecordedProc:0x000000019f91f0@example.rb:73>
53
- assert_equal var_13631520, @fixture.set_block( &var_13631520)
52
+ # TestClass1#set_block should return #<Pretentious::RecordedProc:0x00000102f0f2c8@example.rb:73>
53
+ assert_equal var_2172317940, @fixture.set_block( &var_2172317940)
54
54
 
55
55
 
56
- # TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x00000001a71d30 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={13864900=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x00000001a71d30 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={13864900=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x00000001a71d30 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={13864900=>"message"}>}}
57
- assert_equal @message, @fixture.call_block( &var_13617120)
56
+ # TestClass1#call_block should return {:hello=>"world", :test=>#<TestClass1:0x000001049e89a0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2186233220=>"message"}>, :arr_1=>[1, 2, 3, 4, 5, #<TestClass1:0x000001049e89a0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2186233220=>"message"}>], :sub_hash=>{:yes=>true, :obj=>#<TestClass1:0x000001049e89a0 @message="test", @_init_arguments={:params=>["test"], :params_types=>[[:req, :message]]}, @_variable_names={2186233220=>"message"}>}}
57
+ assert_equal @message, @fixture.call_block( &var_2172155700)
58
58
 
59
59
 
60
60
  # TestClass1#something_is_wrong should return StandardError
@@ -75,7 +75,7 @@ class TestClass1Scenario3 < TestClass1Test
75
75
  def test_current_expectation
76
76
  another_object = TestClass1.new('test')
77
77
 
78
- # TestClass1#return_self when passed message = #<TestClass1:0x00000001a71d30> should return #<TestClass1:0x00000001a71d30>
78
+ # TestClass1#return_self when passed message = #<TestClass1:0x000001049e89a0> should return #<TestClass1:0x000001049e89a0>
79
79
  assert_equal another_object, @fixture.return_self(another_object)
80
80
 
81
81
  end
@@ -88,7 +88,7 @@ class TestClass1Scenario4 < TestClass1Test
88
88
  end
89
89
 
90
90
  def test_current_expectation
91
- # TestClass1#message should return #<TestClass1:0x00000001a71d30>
91
+ # TestClass1#message should return #<TestClass1:0x000001049e89a0>
92
92
  assert_equal @message, @fixture.message
93
93
 
94
94
  end
@@ -8,8 +8,8 @@ end
8
8
  class TestClass3Scenario1 < TestClass3Test
9
9
  def setup
10
10
  another_object = TestClass1.new('test')
11
- var_13858160 = { 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_13858160)
11
+ var_2186185960 = { 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_2186185960)
13
13
  testclass2 = TestClass2.new('This is message 2', nil)
14
14
  @fixture = TestClass3.new(testclass1, testclass2)
15
15
  end
@@ -24,8 +24,8 @@ end
24
24
  class TestClass3Scenario2 < TestClass3Test
25
25
  def setup
26
26
  another_object = TestClass1.new('test')
27
- var_13858160 = { 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_13858160)
27
+ var_2186185960 = { 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_2186185960)
29
29
  testclass2 = TestClass2.new('This is message 2', nil)
30
30
  @fixture = TestClass3.new(testclass1, testclass2)
31
31
  end
@@ -8,11 +8,11 @@ end
8
8
  class TestClass4Scenario1 < TestClass4Test
9
9
  def setup
10
10
  var_8 = nil
11
- var_13645460 = proc {
11
+ var_2172413240 = proc {
12
12
  # Variable return values ... can't figure out what goes in here...
13
13
  }
14
14
 
15
- @fixture = TestClass4.new(&var_13645460)
15
+ @fixture = TestClass4.new(&var_2172413240)
16
16
  end
17
17
 
18
18
  def test_current_expectation
@@ -11,7 +11,7 @@ class TestClassForMocksScenario1 < TestClassForMocksTest
11
11
  end
12
12
 
13
13
  def test_current_expectation
14
- var_11000660 = [2, 3, 4, 5]
14
+ var_2184084360 = [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
@@ -42,11 +42,11 @@ class TestClassForMocksScenario2 < TestClassForMocksTest
42
42
  end
43
43
 
44
44
  def test_current_expectation
45
- var_19783300 = { val: 1, str: 'hello world', message: 'a message' }
45
+ var_2184042120 = { val: 1, str: 'hello world', message: 'a message' }
46
46
 
47
- TestMockSubClass.stub_any_instance(:return_hash, var_19783300) do
47
+ TestMockSubClass.stub_any_instance(:return_hash, var_2184042120) do
48
48
  # TestClassForMocks#method_with_usage3 when passed message = "a message" should return {:val=>1, :str=>"hello world", :message=>"a message"}
49
- assert_equal var_19783300, @fixture.method_with_usage3('a message')
49
+ assert_equal var_2184042120, @fixture.method_with_usage3('a message')
50
50
 
51
51
  end
52
52
 
@@ -157,4 +157,4 @@ results_composition = Pretentious::Generator.generate_for(TestClass1, TestClass2
157
157
  test_class_one.print_message
158
158
  end
159
159
 
160
- results_composition.each_value { |v| puts v}
160
+ results_composition.each_value { |v| puts v}
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.7
4
+ version: 0.1.8
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-12-06 00:00:00.000000000 Z
11
+ date: 2015-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: binding_of_caller
@@ -156,16 +156,17 @@ description: Characterization Tests for Ruby - Do you have a pretentious boss or
156
156
  email:
157
157
  - joseph.dayo@gmail.com
158
158
  executables:
159
- - ddtgen
159
+ - pretentious
160
160
  extensions: []
161
161
  extra_rdoc_files: []
162
162
  files:
163
163
  - ".gitignore"
164
+ - CHANGELOG.md
164
165
  - Gemfile
165
166
  - LICENSE.txt
166
167
  - README.md
167
168
  - Rakefile
168
- - bin/ddtgen
169
+ - bin/pretentious
169
170
  - example.rb
170
171
  - lib/pretentious.rb
171
172
  - lib/pretentious/context.rb
@@ -176,32 +177,36 @@ files:
176
177
  - lib/pretentious/recorded_proc.rb
177
178
  - lib/pretentious/rspec_generator.rb
178
179
  - lib/pretentious/trigger.rb
180
+ - lib/pretentious/utils/file_writer.rb
179
181
  - lib/pretentious/version.rb
180
182
  - pretentious.gemspec
181
183
  - run_test.sh
182
184
  - spec/deconstructor_spec.rb
183
- - spec/fibonacci_spec.rb
185
+ - spec/generated/fibonacci_spec.rb
186
+ - spec/generated/m_d5_spec.rb
187
+ - spec/generated/spec_helper.rb
188
+ - spec/generated/test_class1_spec.rb
189
+ - spec/generated/test_class2_spec.rb
190
+ - spec/generated/test_class3_spec.rb
191
+ - spec/generated/test_class4_spec.rb
192
+ - spec/generated/test_class_for_auto_stub_spec.rb
193
+ - spec/generated/test_class_for_mocks_spec.rb
184
194
  - spec/generator_spec.rb
185
- - spec/m_d5_spec.rb
186
195
  - spec/minitest_generator_spec.rb
187
196
  - spec/prententious_spec.rb
188
197
  - spec/spec_helper.rb
189
- - spec/test_class1_spec.rb
190
- - spec/test_class2_spec.rb
191
- - spec/test_class3_spec.rb
192
- - spec/test_class4_spec.rb
193
- - spec/test_class_for_auto_stub_spec.rb
194
- - spec/test_class_for_mocks_spec.rb
198
+ - spec/utils/filewriter_spec.rb
199
+ - test/generated/minitest_helper.rb
200
+ - test/generated/test_fibonacci.rb
201
+ - test/generated/test_m_d5.rb
202
+ - test/generated/test_meme.rb
203
+ - test/generated/test_test_class1.rb
204
+ - test/generated/test_test_class2.rb
205
+ - test/generated/test_test_class3.rb
206
+ - test/generated/test_test_class4.rb
207
+ - test/generated/test_test_class_for_mocks.rb
195
208
  - test/minitest_helper.rb
196
- - test/test_fibonacci.rb
197
209
  - test/test_generator.rb
198
- - test/test_m_d5.rb
199
- - test/test_meme.rb
200
- - test/test_test_class1.rb
201
- - test/test_test_class2.rb
202
- - test/test_test_class3.rb
203
- - test/test_test_class4.rb
204
- - test/test_test_class_for_mocks.rb
205
210
  - test_classes.rb
206
211
  homepage: https://github.com/jedld/pretentious
207
212
  licenses:
@@ -223,32 +228,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
228
  version: '0'
224
229
  requirements: []
225
230
  rubyforge_project:
226
- rubygems_version: 2.4.8
231
+ rubygems_version: 2.2.2
227
232
  signing_key:
228
233
  specification_version: 4
229
234
  summary: Characterization Tests generator for Ruby - Generate tests from existing/legacy
230
235
  code as well as a way to deal with pretentious TDD/BDD developers
231
236
  test_files:
232
237
  - spec/deconstructor_spec.rb
233
- - spec/fibonacci_spec.rb
238
+ - spec/generated/fibonacci_spec.rb
239
+ - spec/generated/m_d5_spec.rb
240
+ - spec/generated/spec_helper.rb
241
+ - spec/generated/test_class1_spec.rb
242
+ - spec/generated/test_class2_spec.rb
243
+ - spec/generated/test_class3_spec.rb
244
+ - spec/generated/test_class4_spec.rb
245
+ - spec/generated/test_class_for_auto_stub_spec.rb
246
+ - spec/generated/test_class_for_mocks_spec.rb
234
247
  - spec/generator_spec.rb
235
- - spec/m_d5_spec.rb
236
248
  - spec/minitest_generator_spec.rb
237
249
  - spec/prententious_spec.rb
238
250
  - spec/spec_helper.rb
239
- - spec/test_class1_spec.rb
240
- - spec/test_class2_spec.rb
241
- - spec/test_class3_spec.rb
242
- - spec/test_class4_spec.rb
243
- - spec/test_class_for_auto_stub_spec.rb
244
- - spec/test_class_for_mocks_spec.rb
251
+ - spec/utils/filewriter_spec.rb
252
+ - test/generated/minitest_helper.rb
253
+ - test/generated/test_fibonacci.rb
254
+ - test/generated/test_m_d5.rb
255
+ - test/generated/test_meme.rb
256
+ - test/generated/test_test_class1.rb
257
+ - test/generated/test_test_class2.rb
258
+ - test/generated/test_test_class3.rb
259
+ - test/generated/test_test_class4.rb
260
+ - test/generated/test_test_class_for_mocks.rb
245
261
  - test/minitest_helper.rb
246
- - test/test_fibonacci.rb
247
262
  - test/test_generator.rb
248
- - test/test_m_d5.rb
249
- - test/test_meme.rb
250
- - test/test_test_class1.rb
251
- - test/test_test_class2.rb
252
- - test/test_test_class3.rb
253
- - test/test_test_class4.rb
254
- - test/test_test_class_for_mocks.rb
263
+ has_rdoc:
data/bin/ddtgen DELETED
@@ -1,50 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pretentious'
4
- require 'optparse'
5
- require 'ripper'
6
- require 'readline'
7
- require 'json'
8
- require 'fileutils'
9
-
10
- # ddtgen example.rb -t rspec -o rspec/
11
- options = OptionParser.new do |o|
12
- o.banner =
13
- "Usage: ddtgen FILENAME [options] # Generates tests using the specified example file\n"
14
- o.separator ''
15
- o.separator "options:"
16
- o.on('-o', '--output-dir', 'folder to place the files in') { |b| $output_folder = b}
17
- o.parse!
18
- end
19
-
20
- filename = ARGV[0]
21
-
22
- if filename.nil?
23
- puts 'an example file is required.'
24
- puts options
25
- exit(1)
26
- end
27
-
28
- example_body = ''
29
-
30
- index = 0
31
- File.open(filename, "r") do |f|
32
- f.each_line do |line|
33
- example_body << "#{line}\n"
34
- end
35
- end
36
-
37
- eval(example_body, binding, filename, 1)
38
-
39
- # collect results
40
- Pretentious.last_results.each do |g, result_per_generator|
41
- puts "#{g}:"
42
- result_per_generator.each do |klass, result|
43
- output_folder = result[:generator].location(output_folder)
44
- FileUtils.mkdir_p output_folder
45
- result[:generator].helper(output_folder)
46
- filename = result[:generator].naming(output_folder, klass)
47
- File.open(filename, 'w') { |f| f.write(result[:output]) }
48
- puts "#{filename}"
49
- end
50
- end