Sha256: 05b0982f6651680036e97a414ca7ed0649a8e480c308c77e1cea3d7bb680efbe

Contents?: true

Size: 878 Bytes

Versions: 11

Compression:

Stored size: 878 Bytes

Contents

#!/usr/bin/env ruby

require 'test/unit'
require 'pathname'
require File.join( File.dirname(__FILE__), '../../lib/masterview/mtime_tracking_hash' )

class TestMTimeTrackingHash < Test::Unit::TestCase

  def setup
    @h = MasterView::MTimeTrackingHash.new
    @h[1] = 'one'
    @h[2] = :two
    @h[:foo] = :bar
    @h['cat'] = :dog
  end

  def test_hash
    assert_equal 'one', @h[1]
    assert_equal :two, @h[2]
    assert_equal :bar, @h[:foo]
    assert_equal :dog, @h['cat']
    assert_nil @h.mtime(:not_found)
    assert_kind_of Time, @h.mtime(1)
  end

  def test_hash_changed
    m1 = @h.mtime(1)
    m2 = @h.mtime(2)
    assert_equal m1, @h.mtime(1)
    sleep 1 # make sure noticeable time passes
    @h[2] = 'two updated'
    assert_not_equal m2, @h.mtime(2)
    assert_equal m1, @h.mtime(1)
    assert_kind_of Time, @h.mtime(2)
    assert(@h.mtime(2) > m2)
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
masterview-0.2.0 test/unit/mtime_tracking_hash_test.rb
masterview-0.2.1 test/unit/mtime_tracking_hash_test.rb
masterview-0.3.3 test/unit/mtime_tracking_hash_test.rb
masterview-0.2.2 test/unit/mtime_tracking_hash_test.rb
masterview-0.2.4 test/unit/mtime_tracking_hash_test.rb
masterview-0.2.5 test/unit/mtime_tracking_hash_test.rb
masterview-0.3.0 test/unit/mtime_tracking_hash_test.rb
masterview-0.3.2 test/unit/mtime_tracking_hash_test.rb
masterview-0.2.3 test/unit/mtime_tracking_hash_test.rb
masterview-0.3.4 test/unit/mtime_tracking_hash_test.rb
masterview-0.3.1 test/unit/mtime_tracking_hash_test.rb