Sha256: c782a03e49563cd3fa7d0348f7c5520f4782a0d6d0d7fc50eaf75e0a13cb5e50
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require "test/unit" require 'smart_init' class TestClass extend SmartInit initialize_with :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 SmartInitTest < 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 assert_raise NoMethodError do test_object.attribute_1 end 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 private def test_object @_test_object ||= TestClass.new("attr_1_value", "attr_2_value") end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
smart_init-1.1.0 | test/test_smart_init.rb |