class Pact::CSV::Differ
Attributes
actual[R]
expected[R]
options[R]
Public Class Methods
call(expected, actual, options = {})
click to toggle source
# File lib/pact/csv/differ.rb, line 16 def self.call expected, actual, options = {} new(expected, actual, options).call end
new(expected, actual, options = {})
click to toggle source
# File lib/pact/csv/differ.rb, line 9 def initialize expected, actual, options = {} @expected = expected @actual = actual @options = options puts caller.join("\n") end
Public Instance Methods
call()
click to toggle source
# File lib/pact/csv/differ.rb, line 20 def call expected_data = ::CSV.parse(expected, headers: true) actual_data = ::CSV.parse(actual, headers: true) compare(expected_data, actual_data, options) end
compare(expected, actual, options)
click to toggle source
# File lib/pact/csv/differ.rb, line 25 def compare(expected, actual, options) expected_table = Cucumber::Ast::Table.new(expected.map(&:to_hash)) actual_table = Cucumber::Ast::Table.new(actual.map(&:to_hash)) errors = [] begin p options expected_table.diff!(actual_table, surplus_col: options["allow_unexpected_keys"]) rescue => e errors = [e.table] end errors end