Class: Result
- Inherits:
-
Object
- Object
- Result
- Defined in:
- lib/teuton/case/result/result.rb,
lib/teuton/case/result/ext_array.rb,
lib/teuton/case/result/ext_filter.rb,
lib/teuton/case/result/ext_compare.rb
Direct Known Subclasses
Instance Attribute Summary collapse
- #alterations ⇒ Object
-
#content ⇒ Object
Returns the value of attribute content.
-
#exitcode ⇒ Object
Returns the value of attribute exitcode.
Instance Method Summary collapse
- #contain?(value) ⇒ Boolean
- #count ⇒ Object (also: #count!, #length, #len, #size)
- #debug ⇒ Object
- #empty ⇒ Object (also: #empty?)
- #eq(input) ⇒ Object (also: #eq?, #equal, #equal?, #is_equal?)
- #expected ⇒ Object
- #find(filter) ⇒ Object (also: #grep, #grep!, #find!)
- #first ⇒ Object
- #ge(input) ⇒ Object (also: #greater_or_equal, #greater_or_equal?)
- #gt(input) ⇒ Object (also: #greater, #greater_than)
- #include?(value) ⇒ Boolean
-
#initialize ⇒ Result
constructor
A new instance of Result.
- #last ⇒ Object
- #le(input) ⇒ Object (also: #lesser_or_equal, #lesser_or_equal?)
- #lt(input) ⇒ Object (also: #lesser, #smaller, #lesser_than)
-
#near_to?(input) ⇒ Boolean
(also: #near_to, #near?, #near)
Return ‘true’ if the parameter value is near to the target value.
- #neq(external) ⇒ Object (also: #neq?, #not_equal, #not_equal?)
- #not_find(filter) ⇒ Object (also: #grep_v)
- #not_include?(value) ⇒ Boolean
- #ok? ⇒ Boolean
- #reset ⇒ Object
- #restore ⇒ Object
- #since(filter) ⇒ Object
- #until(filter) ⇒ Object
- #value ⇒ Object
Constructor Details
#initialize ⇒ Result
Returns a new instance of Result.
12 13 14 |
# File 'lib/teuton/case/result/result.rb', line 12 def initialize reset end |
Instance Attribute Details
#alterations ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/teuton/case/result/result.rb', line 26 def alterations if @alterations.is_a? String @alterations else @alterations.join(" & ") end end |
#content ⇒ Object
Returns the value of attribute content.
8 9 10 |
# File 'lib/teuton/case/result/result.rb', line 8 def content @content end |
#exitcode ⇒ Object
Returns the value of attribute exitcode.
9 10 11 |
# File 'lib/teuton/case/result/result.rb', line 9 def exitcode @exitcode end |
Instance Method Details
#contain?(value) ⇒ Boolean
27 28 29 30 |
# File 'lib/teuton/case/result/ext_array.rb', line 27 def contain?(value) @expected = "Contain <#{value}> value" @content.contain? value end |
#count ⇒ Object Also known as: count!, length, len, size
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/teuton/case/result/ext_array.rb', line 4 def count @alterations << "count" if @content.instance_of? Array @content = [@content.count] self elsif @content.nil? @content = ["0"] else @content = [@content.to_i.to_s] end self end |
#debug ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/teuton/case/result/result.rb', line 39 def debug print "\n" + "*" * 20 print " [DEBUG] count=#{@content.count} " puts "*" * 20 @content.each_with_index do |item, index| puts format("%<index>2d: %<item>s", {index: index, item: item}) end puts "*" * 57 end |
#empty ⇒ Object Also known as: empty?
32 33 34 35 |
# File 'lib/teuton/case/result/ext_array.rb', line 32 def empty @expected = "Empty!" @content.empty end |
#eq(input) ⇒ Object Also known as: eq?, equal, equal?, is_equal?
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/teuton/case/result/ext_compare.rb', line 4 def eq(input) # Return true when content is equal than input @expected = input case input.class.to_s when "Fixnum" value = @content[0].to_i puts "[WARN] Fixnum is a Ruby deprecated class!" puts " (Upgrade your Ruby version)" when "Float" value = @content[0].to_f when "Integer" value = @content[0].to_i when "String" value = @content[0].to_s else value = @content[0] end value == input end |
#expected ⇒ Object
49 50 51 |
# File 'lib/teuton/case/result/result.rb', line 49 def expected @expected.to_s end |
#find(filter) ⇒ Object Also known as: grep, grep!, find!
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/teuton/case/result/ext_filter.rb', line 4 def find(filter) @alterations << "find(#{filter})" case filter.class.to_s when "Array" find_when_array(filter) when "String" || "Integer" @content.select! { |i| i.include?(filter.to_s) } when "Regexp" @content.select! { |i| filter.match(i) } end self end |
#first ⇒ Object
20 21 22 23 24 |
# File 'lib/teuton/case/result/ext_filter.rb', line 20 def first @alterations << "first" @content = [@content.first] self end |
#ge(input) ⇒ Object Also known as: greater_or_equal, greater_or_equal?
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/teuton/case/result/ext_compare.rb', line 50 def ge(input) @expected = "Greater or equal to #{input}" return false if @content.nil? || @content[0].nil? value = @content[0] case input.class.to_s when "Fixnum" value = @content[0].to_i puts "[WARN] Fixnum class is deprecated!" puts " Upgrade your Ruby version." when "Float" value = @content[0].to_f when "Integer" value = @content[0].to_i end value >= input end |
#gt(input) ⇒ Object Also known as: greater, greater_than
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/teuton/case/result/ext_compare.rb', line 70 def gt(input) @expected = "Greater than #{input}" return false if @content.nil? || @content[0].nil? value = @content[0] case input.class.to_s when "Fixnum" value = @content[0].to_i puts "[WARN] Fixnum class is deprecated!" puts " Upgrade your Ruby version." when "Float" value = @content[0].to_f when "Integer" value = @content[0].to_i end value > input end |
#include?(value) ⇒ Boolean
17 18 19 20 |
# File 'lib/teuton/case/result/ext_array.rb', line 17 def include?(value) @expected = "Include <#{value}> value" @content[0].include?(value) end |
#last ⇒ Object
56 57 58 59 60 |
# File 'lib/teuton/case/result/ext_filter.rb', line 56 def last @alterations << "last" @content = [@content.last] self end |
#le(input) ⇒ Object Also known as: lesser_or_equal, lesser_or_equal?
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/teuton/case/result/ext_compare.rb', line 90 def le(input) @expected = "Lesser or equal to #{input}" return false if @content.nil? || @content[0].nil? value = @content[0] case input.class.to_s when "Fixnum" value = @content[0].to_i puts "[WARN] Fixnum class is deprecated!" puts " Upgrade your Ruby version." when "Float" value = @content[0].to_f when "Integer" value = @content[0].to_i end value <= input end |
#lt(input) ⇒ Object Also known as: lesser, smaller, lesser_than
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/teuton/case/result/ext_compare.rb', line 111 def lt(input) @expected = "Lesser than #{input}" return false if @content.nil? || @content[0].nil? value = @content[0] case input.class.to_s when "Fixnum" value = @content[0].to_i puts "[WARN] Fixnum class is deprecated!" puts " Upgrade your Ruby version." when "Float" value = @content[0].to_f when "Integer" value = @content[0].to_i end value < input end |
#near_to?(input) ⇒ Boolean Also known as: near_to, near?, near
Return ‘true’ if the parameter value is near to the target value. To get this we consider a 10% desviation or less, as an acceptable result.
134 135 136 137 138 139 140 141 142 143 |
# File 'lib/teuton/case/result/ext_compare.rb', line 134 def near_to?(input) @expected = "Is near to #{input}" return false if @content.nil? target = @content[0].to_f desv = (target * 10.0) / 100.0 return true if (target - input.to_f).abs.to_f <= desv false end |
#neq(external) ⇒ Object Also known as: neq?, not_equal, not_equal?
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/teuton/case/result/ext_compare.rb', line 29 def neq(external) @expected = "Not equal to #{external}" case external.class.to_s when "Fixnum" internal = @content[0].to_i puts "[WARN] Fixnum class is deprecated!" puts " Upgrade your Ruby version." when "Float" internal = @content[0].to_f when "Integer" internal = @content[0].to_i else internal = @content[0] end internal != external end |
#not_find(filter) ⇒ Object Also known as: grep_v
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/teuton/case/result/ext_filter.rb', line 26 def not_find(filter) @alterations << "not_find(#{filter})" return self if @content.size.zero? case filter.class.to_s when "Array" filter.each { |i| not_find(i.to_s) } when "String" || "Integer" @content.reject! { |i| i.include?(filter.to_s) } when "Regexp" @content.reject! { |i| filter.match(i) } end self end |
#not_include?(value) ⇒ Boolean
22 23 24 25 |
# File 'lib/teuton/case/result/ext_array.rb', line 22 def not_include?(value) @expected = "Not include <#{value}> value" !@content[0].include?(value) end |
#ok? ⇒ Boolean
53 54 55 |
# File 'lib/teuton/case/result/result.rb', line 53 def ok? @exitcode.zero? end |
#reset ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/teuton/case/result/result.rb', line 16 def reset @content_backup = [] @content = [] @exitcode = -1 # @value = nil @expected = nil @alterations = [] end |
#restore ⇒ Object
57 58 59 60 61 62 63 |
# File 'lib/teuton/case/result/result.rb', line 57 def restore temp = @content_backup.clone reset # @content_backup = temp # @content = temp.clone self.content = (temp) end |
#since(filter) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/teuton/case/result/ext_filter.rb', line 42 def since(filter) @alterations << "since(#{filter})" return self if @content.size.zero? if filter.instance_of? String flag = false @content.select! do |i| flag = true if i.include?(filter.to_s) flag end end self end |
#until(filter) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/teuton/case/result/ext_filter.rb', line 62 def until(filter) @alterations << "until(#{filter})" return self if @content.size.zero? if filter.instance_of? String flag = true @content.select! do |i| flag = false if i.include?(filter.to_s) flag end end self end |
#value ⇒ Object
65 66 67 |
# File 'lib/teuton/case/result/result.rb', line 65 def value @content[0] end |