c358389f25
Sync with latest Instiki Trunk (Updates Rails to 1.2.2)
58 lines
1.4 KiB
Ruby
58 lines
1.4 KiB
Ruby
require File.dirname(__FILE__) + '/../abstract_unit'
|
|
|
|
class NumericExtTimeTest < Test::Unit::TestCase
|
|
def setup
|
|
@now = Time.now
|
|
@seconds = {
|
|
1.minute => 60,
|
|
10.minutes => 600,
|
|
1.hour + 15.minutes => 4500,
|
|
2.days + 4.hours + 30.minutes => 189000,
|
|
5.years + 1.month + 1.fortnight => 161589600
|
|
}
|
|
end
|
|
|
|
def test_units
|
|
@seconds.each do |actual, expected|
|
|
assert_equal expected, actual
|
|
end
|
|
end
|
|
|
|
def test_intervals
|
|
@seconds.values.each do |seconds|
|
|
assert_equal seconds.since(@now), @now + seconds
|
|
assert_equal seconds.until(@now), @now - seconds
|
|
end
|
|
end
|
|
|
|
# Test intervals based from Time.now
|
|
def test_now
|
|
@seconds.values.each do |seconds|
|
|
now = Time.now
|
|
assert seconds.ago >= now - seconds
|
|
now = Time.now
|
|
assert seconds.from_now >= now + seconds
|
|
end
|
|
end
|
|
end
|
|
|
|
class NumericExtSizeTest < Test::Unit::TestCase
|
|
def test_unit_in_terms_of_another
|
|
relationships = {
|
|
1024.kilobytes => 1.megabyte,
|
|
3584.0.kilobytes => 3.5.megabytes,
|
|
3584.0.megabytes => 3.5.gigabytes,
|
|
1.kilobyte ** 4 => 1.terabyte,
|
|
1024.kilobytes + 2.megabytes => 3.megabytes,
|
|
2.gigabytes / 4 => 512.megabytes,
|
|
256.megabytes * 20 + 5.gigabytes => 10.gigabytes,
|
|
1.kilobyte ** 5 => 1.petabyte,
|
|
1.kilobyte ** 6 => 1.exabyte
|
|
}
|
|
|
|
relationships.each do |left, right|
|
|
assert_equal right, left
|
|
end
|
|
end
|
|
end
|