Class: Fitting::Report::Tests

Inherits:
Object
  • Object
show all
Defined in:
lib/fitting/report/tests.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tests) ⇒ Tests

Returns a new instance of Tests.



6
7
8
# File 'lib/fitting/report/tests.rb', line 6

def initialize(tests)
  @tests = tests
end

Class Method Details

.new_from_config(tests_path) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/fitting/report/tests.rb', line 10

def self.new_from_config(tests_path)
  tests = []
  Dir[tests_path].each do |file|
    JSON.parse(File.read(file)).map do |test|
      tests.push(Fitting::Report::Test.new(test))
    end
  end
  tests.sort { |a, b| b.path <=> a.path }
  new(tests)
end

Instance Method Details

#push(test) ⇒ Object



45
46
47
# File 'lib/fitting/report/tests.rb', line 45

def push(test)
  @tests.push(test)
end

#sizeObject



49
50
51
# File 'lib/fitting/report/tests.rb', line 49

def size
  @tests.size
end

#to_aObject



53
54
55
# File 'lib/fitting/report/tests.rb', line 53

def to_a
  @tests
end

#to_hObject



57
58
59
60
61
62
63
# File 'lib/fitting/report/tests.rb', line 57

def to_h
  return @hash if @hash

  @hash = @tests.inject({}) do |res, test|
    res.merge!(test.id => test.to_h)
  end
end

#without_actionsObject



27
28
29
30
31
# File 'lib/fitting/report/tests.rb', line 27

def without_actions
  @tests.each_with_object([]) do |test, result|
    result.push("#{test.method} #{test.path}") unless test.there_an_actions?
  end
end

#without_combinationsObject



39
40
41
42
43
# File 'lib/fitting/report/tests.rb', line 39

def without_combinations
  @tests.each_with_object([]) do |test, result|
    result.push(test.path) unless test.there_an_combinations?
  end
end

#without_prefixesObject



21
22
23
24
25
# File 'lib/fitting/report/tests.rb', line 21

def without_prefixes
  @tests.each_with_object([]) do |test, result|
    result.push(test.path) unless test.there_a_prefix?
  end
end

#without_responsesObject



33
34
35
36
37
# File 'lib/fitting/report/tests.rb', line 33

def without_responses
  @tests.each_with_object([]) do |test, result|
    result.push(test.id) unless test.there_an_responses?
  end
end