rubyx/test/helper.rb

54 lines
1.3 KiB
Ruby
Raw Normal View History

2014-04-14 14:58:59 +02:00
require 'rubygems'
require 'bundler'
begin
Bundler.setup(:default, :development)
rescue Bundler::BundlerError => e
$stderr.puts e.message
$stderr.puts "Run `bundle install` to install missing gems"
exit e.status_code
end
2015-07-18 12:06:42 +02:00
if ENV['CODECLIMATE_REPO_TOKEN']
require "codeclimate-test-reporter"
CodeClimate::TestReporter.start
end
require "minitest/autorun"
2014-04-14 14:58:59 +02:00
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'test'))
2014-04-14 14:58:59 +02:00
2014-07-29 17:33:11 +02:00
require 'salama'
2014-09-16 15:06:11 +02:00
2015-10-22 17:16:29 +02:00
module Register
2015-06-01 16:31:35 +02:00
# Functions to generate parfait objects
def self.new_word( string )
string = string.to_s if string.is_a? Symbol
2015-07-20 12:01:15 +02:00
word = Parfait::Word.new( string.length )
2015-06-01 16:31:35 +02:00
string.codepoints.each_with_index do |code , index |
word.set_char(index + 1 , code)
end
word
end
end
class Ignored
2014-09-16 15:06:11 +02:00
def == other
return false unless other.class == self.class
2014-09-16 15:06:11 +02:00
Sof::Util.attributes(self).each do |a|
begin
left = send(a)
rescue NoMethodError
next # not using instance variables that are not defined as attr_readers for equality
end
begin
right = other.send(a)
rescue NoMethodError
return false
end
return false unless left.class == right.class
2014-09-16 15:06:11 +02:00
return false unless left == right
end
return true
end
end