Sha256: 523cbdc02a8fb4ca9aebb792a4daccd88138657087d6b66516250c222a14b689
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
require "minitest/autorun" require_relative "../../lib/simple/lazy" class TestSimpleLazy < Minitest::Test def test_1 assert_equal(1, Simple::Lazy.new(1) { }.value) assert_equal(false, Simple::Lazy.new(1) { }.cached?) end def test_2 user = Simple::Lazy.new(1) { |id| Struct.new(:name).new("a#{id}") } assert_equal(1, user.value) assert_equal(false, user.cached?) assert_equal("a1", user.name) assert_equal(true, user.cached?) end def test_3 error = nil begin lazy = Simple::Lazy.new(1) { |id| raise 'oops' } lazy.inspect lazy.value lazy.cached? [lazy, lazy, (lazy == lazy) && 1, lazy.eql?(lazy) && 1].sort lazy.hash rescue => e error = e puts error.backtrace end assert_nil(error) end def test_4 lazy = Simple::Lazy.new(1) { |id| "oh" } assert_equal("oh", lazy.to_s) end def test_5 lazy = Simple::Lazy.new(1) { nil } assert_equal(false, lazy.cached?) assert_equal("", lazy.to_s) assert_equal(true, lazy.cached?) end def test_6 lazy = Simple::Lazy.new(1) { 2 } assert_equal(true, lazy.respond_to?(:to_i)) assert_equal(false, lazy.respond_to?(:to_something_else)) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple-lazy-1.0.2 | test/simple/lazy_test.rb |