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 = "Dataset #{solution[:id]}"

  case solution[:dataset].compare result[:dataset]
    when :equals
      success(name, result)
    when :distinct_columns
      failed(name, result, solution, 'Las columnas no coinciden')
    when :distinct_rows
      failed(name, result, solution, 'Las filas no coinciden')
    else
      failed(name, result, solution, 'Las consultas no coinciden')
  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