Sha256: ad2456bf029f2588ea913f93f1238ce154ceffe3c33b9b8cedc705f03c57367c
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
class QueryTest < Minitest::Test def setup method = TestMethodBank.method :one_required_one_optional_argument @method = Invokr.query_method method end def test_dependencies assert_equal [:album, :guitarist], @method.dependencies end def test_optional_dependencies assert_equal [:guitarist], @method.optional_dependencies end def test_required_dependencies assert_equal [:album], @method.required_dependencies end def test_invoking_singleton_from_query_object assert_equal ['junta', 'trey'], @method.invoke(album: 'junta') end def test_invoking_instance_from_query_object test_klass = define_test_klass method = Invokr.query_method test_klass.instance_method :upcase val = method.invoke test_klass.new, dep: 'phIsh' assert_equal "PHISH", val end def test_cannot_invoke_instance_not_type_other_than_method_owner test_klass = define_test_klass method = Invokr.query_method test_klass.instance_method :upcase error = assert_raises TypeError do method.invoke Array.new, dep: 'phIsh' end assert_equal 'no implicit conversion of Array into TestKlass', error.message end private def define_test_klass Class.new do def self.name 'TestKlass' end def upcase dep dep.upcase end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
invokr-0.0.2 | test/query_test.rb |