Sha256: bd474d116857c6c751cd0e8f174461041394156f636699978b494476fa61ae40
Contents?: true
Size: 855 Bytes
Versions: 64
Compression:
Stored size: 855 Bytes
Contents
# encoding: utf-8 require "rspec" require "rspec/expectations" RSpec::Matchers.define :be_a_metric_event do |namespace, type, *args| match do namespace == Array(actual[0]).concat(Array(actual[1])) && type == actual[2] && args == actual[3..-1] end end # Match to test `NullObject` pattern RSpec::Matchers.define :implement_interface_of do |type, key, value| match do |actual| all_instance_methods_implemented? end def missing_methods expected.instance_methods.select { |method| !actual.instance_methods.include?(method) } end def all_instance_methods_implemented? expected.instance_methods.all? { |method| actual.instance_methods.include?(method) } end failure_message do "Expecting `#{expected}` to implements instance methods of `#{actual}`, missing methods: #{missing_methods.join(",")}" end end
Version data entries
64 entries across 63 versions & 11 rubygems