Class: Pretentious::MinitestGenerator
- Inherits:
-
GeneratorBase
- Object
- GeneratorBase
- Pretentious::MinitestGenerator
- Defined in:
- lib/pretentious/minitest_generator.rb
Instance Method Summary collapse
- #begin_spec(test_class) ⇒ Object
- #end_spec ⇒ Object
- #generate(test_instance, instance_count) ⇒ Object
- #indentation(level) ⇒ Object
-
#initialize(options = {}) ⇒ MinitestGenerator
constructor
A new instance of MinitestGenerator.
- #output ⇒ Object
- #whitespace(level = 0) ⇒ Object
Methods inherited from GeneratorBase
Constructor Details
#initialize(options = {}) ⇒ MinitestGenerator
Returns a new instance of MinitestGenerator.
3 4 5 6 7 8 9 10 11 |
# File 'lib/pretentious/minitest_generator.rb', line 3 def initialize( = {}) @deconstructor = Pretentious::Deconstructor.new indentation_count = [:indentation] || 2 @output_buffer = "" @_indentation = "" indentation_count.times do @_indentation << " " end end |
Instance Method Details
#begin_spec(test_class) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/pretentious/minitest_generator.rb', line 25 def begin_spec(test_class) @test_class = test_class buffer("#This file was automatically generated by the pretentious gem") buffer("require 'minitest_helper'") buffer('require "minitest/autorun"') whitespace buffer("class Test#{test_class.name} < Minitest::Test") buffer("end") whitespace end |
#end_spec ⇒ Object
36 37 |
# File 'lib/pretentious/minitest_generator.rb', line 36 def end_spec end |
#generate(test_instance, instance_count) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/pretentious/minitest_generator.rb', line 43 def generate(test_instance, instance_count) if (test_instance.is_a? Class) #class methods class_method_calls = test_instance.method_calls_by_method generate_specs("#{test_instance.test_class.name}::",test_instance.test_class.name, class_method_calls, test_instance.let_variables) else buffer("class #{test_instance.test_class.name}Scenario#{instance_count} < Test#{@test_class.name}",0) buffer("def setup",1) buffer_inline(test_instance._deconstruct_to_ruby('@fixture', 2 * @_indentation.length)) buffer("end", 1) whitespace method_calls = test_instance.method_calls_by_method generate_specs("#{test_instance.test_class.name}#","@fixture",method_calls, test_instance.let_variables) buffer('end',0) whitespace end end |
#indentation(level) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/pretentious/minitest_generator.rb', line 13 def indentation(level) buffer = "" level.times do buffer << @_indentation end buffer end |
#output ⇒ Object
39 40 41 |
# File 'lib/pretentious/minitest_generator.rb', line 39 def output @output_buffer end |
#whitespace(level = 0) ⇒ Object
21 22 23 |
# File 'lib/pretentious/minitest_generator.rb', line 21 def whitespace(level = 0) @output_buffer << "#{indentation(level)}\n" end |