# frozen_string_literal: true RSpec::Matchers.define :eq_ts_vector do |expected_vector| match do |actual_vector| actual = actual_vector.split(" ").sort expected = expected_vector.split(" ").sort (expected - actual == []) && (actual - expected == []) end failure_message do |actual_vector| actual = actual_vector.split(" ").sort expected = expected_vector.split(" ").sort message = +"ts_vector does not match!\n\n" message << "Additional elements:\n" message << (expected - actual).join("\n") message << "\nMissing elements:\n" message << (actual - expected).join("\n") message end end