Sha256: 113e28e83d71760d2c771d9aa7c88e6a423382307794bb6393a21d4bc9d8ab92
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true require "test/unit" require_relative '../lib/smart_init/main' class TestClass extend SmartInit initialize_with_args :attribute_1, :attribute_2 is_callable def call [attribute_1, attribute_2] end end class TestNoInit extend SmartInit is_callable def call 'result' end end class TestMethodName extend SmartInit is_callable method_name: :run! def run! true end end def test_object @_test_object ||= TestClass.new("attr_1_value", "attr_2_value") end class StandardApiTest < Test::Unit::TestCase def test_number_of_attributes assert_nothing_raised do TestClass.new( "attr_1_value", "attr_2_value" ) end assert_raise ArgumentError do TestClass.new( "attr_1_value" ) end end def test_instance_variables assert_equal test_object.instance_variable_get("@attribute_1"), "attr_1_value" end def test_private_getters error = assert_raise NoMethodError do test_object.attribute_1 end assert_match("private method", error.message) assert_equal test_object.send(:attribute_1), "attr_1_value" end def test_is_callable assert_equal TestClass.call("a", "b"), ["a", "b"] end def test_is_callable_no_initializers assert_equal TestNoInit.call, 'result' end def test_is_callable_method_name assert_equal TestMethodName.run!, true end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
smart_init-4.2.1 | test/test_args_api.rb |