Class: Sqlite::Checker

Inherits:
Mumukit::Metatest::Checker
  • Object
show all
Defined in:
lib/checker.rb

Instance Method Summary collapse

Instance Method Details

#check(result, solution) ⇒ Object

Verify if solution dataset is equals than result when equals: Return passed & render success when distinct_columns: return failed & render error when distinct_rows: return failed & render error



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/checker.rb', line 8

def check(result, solution)
  name = I18n.t 'dataset', number: solution[:id]

  case solution[:dataset].compare result[:dataset]
    when :equals
      success(name, result)
    when :distinct_columns
      failed(name, result, solution, (I18n.t 'failure.columns'))
    when :distinct_rows
      failed(name, result, solution, (I18n.t 'failure.rows'))
    else
      failed(name, result, solution, (I18n.t 'failure.query'))
  end
end

#failed(name, result, solution, error) ⇒ Object



27
28
29
# File 'lib/checker.rb', line 27

def failed(name, result, solution, error)
  [name, :failed, render_error(result, solution, error)]
end

#render_error(result, solution, error) ⇒ Object

Return error page rendered with results & solutions



37
38
39
# File 'lib/checker.rb', line 37

def render_error(result, solution, error)
  renderer.render_error result, solution, error
end

#render_success(result) ⇒ Object

Return success page rendered with results



32
33
34
# File 'lib/checker.rb', line 32

def render_success(result)
  renderer.render_success result
end

#success(name, result) ⇒ Object



23
24
25
# File 'lib/checker.rb', line 23

def success(name, result)
  [name, :passed, render_success(result)]
end