ripnews/set/tests/test_intspan.rb

144 lines
951 KiB
Ruby
Raw Normal View History

2005-03-09 15:02:52 +00:00
#!/usr/local/bin/ruby
# $Id$
# $Source$
require 'test/unit'
require '../intspan'
class TestSetIntspan < Test::Unit::TestCase
# def setup
# end
# def teardown
# end
def test_empty_set
set = Set::IntSpan.new()
assert(set.empty?)
assert_equal("", set.to_s)
set.set_neg_inf(true)
assert_equal(false, set.empty?)
set = Set::IntSpan.new()
set.set_pos_inf(true)
assert_equal(false, set.empty?)
set = Set::IntSpan.new("1")
assert_equal(false, set.empty?)
end
def test_neg_inf
set = Set::IntSpan.new()
set.set_neg_inf(true)
assert(set.neg_inf?)
set = Set::IntSpan.new("(-1,3,5")
assert_equal(true, set.neg_inf?)
set = Set::IntSpan.new("1-3,5-)")
assert_equal(false, set.neg_inf?)
set = Set::IntSpan.new("(-1,3,5-)")
assert_equal(true, set.neg_inf?)
end
def test_pos_inf
set = Set::IntSpan.new()
set.set_pos_inf(true)
assert(set.pos_inf?)
end
def test_to_s
assert_equal("", Set::IntSpan.new().to_s)
assert_equal("1", Set::IntSpan.new("1").to_s)
assert_equal("1-3", Set::IntSpan.new("1-3").to_s)
assert_equal("1-3,5", Set::IntSpan.new("1-3,5").to_s)
assert_equal("(-1,3,5", Set::IntSpan.new("(-1,3,5").to_s)
assert_equal("1-3,5-)", Set::IntSpan.new("1-3,5-)").to_s)
assert_equal("(-1,3,5-)", Set::IntSpan.new("(-1,3,5-)").to_s)
end
def test_array_init
assert_equal("", Set::IntSpan.new([]).to_s)
assert_equal("1", Set::IntSpan.new([1]).to_s)
assert_equal("1-3", Set::IntSpan.new([1,2,3]).to_s)
assert_equal("1-3,5", Set::IntSpan.new([1,2,3,5]).to_s)
end
def test_set_init
set = Set::IntSpan.new("1-3,5")
set2 = Set::IntSpan.new(set)
assert_equal("1-3,5", set2.to_s)
set = Set::IntSpan.new("(-1,3,5-)")
set2 = Set::IntSpan.new(set)
assert_equal("(-1,3,5-)", set2.to_s)
end
def test_insert!
p 'test_insert!'
p Time.now
2005-03-09 15:02:52 +00:00
set = Set::IntSpan.new()
assert_equal("", set.to_s)
set.insert!(4)
2005-03-09 15:02:52 +00:00
assert_equal("4", set.to_s)
set.insert!(5)
2005-03-09 15:02:52 +00:00
assert_equal("4-5", set.to_s)
set.insert!(7)
2005-03-09 15:02:52 +00:00
assert_equal("4-5,7", set.to_s)
set.insert!(6)
2005-03-09 15:02:52 +00:00
assert_equal("4-7", set.to_s)
set.insert!(16)
2005-03-09 18:15:30 +00:00
assert_equal("4-7,16", set.to_s)
set.insert!(10)
2005-03-09 18:15:30 +00:00
assert_equal("4-7,10,16", set.to_s)
set.insert!(3)
2005-03-09 18:15:30 +00:00
assert_equal("3-7,10,16", set.to_s)
set.insert!(1)
2005-03-09 18:15:30 +00:00
assert_equal("1,3-7,10,16", set.to_s)
set.insert!(17)
2005-03-09 18:15:30 +00:00
assert_equal("1,3-7,10,16-17", set.to_s)
set.insert!(14974324)
2005-12-06 21:44:40 +00:00
assert_equal("1,3-7,10,16-17,14974324", set.to_s)
p Time.now
2005-03-09 18:15:30 +00:00
end
def test_finite
assert_equal(true, Set::IntSpan.new("1-3,5").finite?)
assert_equal(false, Set::IntSpan.new("(-1,3,5").finite?)
assert_equal(false, Set::IntSpan.new("1-3,5-)").finite?)
assert_equal(false, Set::IntSpan.new("(-1,3,5-)").finite?)
assert_equal(false, Set::IntSpan.new("1-3,5").infinite?)
assert_equal(true, Set::IntSpan.new("(-1,3,5").infinite?)
assert_equal(true, Set::IntSpan.new("1-3,5-)").infinite?)
assert_equal(true, Set::IntSpan.new("(-1,3,5-)").infinite?)
end
def test_remove
set = Set::IntSpan.new("1-3,5")
set.remove!(3)
assert_equal("1-2,5", set.to_s)
assert_equal("1-2,5", Set::IntSpan.new("1-3,5").remove!(3).to_s)
assert_equal("(-1,5", Set::IntSpan.new("(-1,3,5").remove!(3).to_s)
assert_equal("1-2,5-)", Set::IntSpan.new("1-3,5-)").remove!(3).to_s)
assert_equal("(-1,5-)", Set::IntSpan.new("(-1,3,5-)").remove!(3).to_s)
2005-03-09 15:02:52 +00:00
end
2005-05-09 11:52:50 +00:00
def test_member
assert_equal(true, Set::IntSpan.new("1-3,5").member?(1))
assert_equal(true, Set::IntSpan.new("1-3,5").member?(3))
assert_equal(false, Set::IntSpan.new("1-3,5").member?(4))
assert_equal(false, Set::IntSpan.new("1-3,5").member?(6))
assert_equal(false, Set::IntSpan.new("1-3,5").member?(7))
assert_equal(true, Set::IntSpan.new("1-3,5-)").member?(7))
assert_equal(true, Set::IntSpan.new("(-3,5").member?(-10))
end
def test_run_list
string = "70470793-70470795,70470797,70470799-70470801,70470804,70470806,70470808-70470809,70470811,70470813,70470815-70470816,70470818,70470822-70470823,70470825,70470828-70470830,70470833-70470835,70470838-70470839,70470841,70470843,70470846,70470849-70470850,70470855-70470857,70470859,70470861,70470864-70470866,70470869,70470871,70470873,70470876,70470879,70470882,70470884,70470887-70470888,70470890,70470893,70470895-70470897,70470901-70470905,70470910,70470913-70470916,70470922-70470923,70470925-70470930,70470934,70470937,70470939-70470940,70470943,70470945,70470949,70470951-70470953,70470959-70470964,70470972-70470976,70470978,70470982,70470986-70470988,70470990,70470994,70471000,70471002-70471004,70471007,70471010-70471013,70471016,70471019-70471020,70471022-70471024,70471026,70471028,70471032,70471036-70471038,70471040-70471043,70471048,70471051,70471053,70471055-70471060,70471064,70471069,70471071-70471074,70471077,70471082,70471086,70471088-70471092,70471094-70471095,70471098,70471100,70471104,70471107,70471109-70471111,70471113-70471114,70471116,70471120-70471121,70471125-70471127,70471129,70471131,70471134,70471136,70471139-70471140,70471142,70471145,70471147,70471152-70471153,70471155,70471158,70471160-70471161,70471163,70471167-70471168,70471172,70471174,70471176,70471178,70471180-70471181,70471186-70471187,70471189,70471192-70471193,70471197,70471199,70471201,70471205,70471208-70471210,70471217-70471218,70471221-70471222,70471224-70471226,70471228,70471233,70471236-70471237,70471239,70471242-70471246,70471249,70471253-70471254,70471258,70471261-70471262,70471265,70471268,70471271,70471273-70471275,70471278,70471283-70471285,70471289-70471290,70471292,70471296-70471298,70471303-70471304,70471306,70471310,70471312-70471314,70471317,70471319,70471321,70471325-70471326,70471328-70471329,70471335,70471337-70471339,70471341,70471343,70471348-70471352,70471355,70471357,70471360,70471365-70471368,70471373-70471374,70471376-70471377,70471380,70471382,70471384,70471388-70471389,70471393-70471394,70471400,70471403,70471405-70471406,70471411-70471414,70471416,70471420-70471423,70471425,70471427-70471428,70471434-70471435,70471438,70471440-70471441,70471444-70471445,70471447,70471450,70471452-70471453,70471455,70471459-70471460,70471465-70471466,70471469-70471470,70471474,70471476,70471478-70471479,70471484-70471487,70471489,70471494,70471498-70471500,70471505-70471507,70471509,70471511-70471513,70471515-70471516,70471521,70471524,70471527,70471531,70471533-70471534,70471537,70471539-70471540,70471543-70471544,70471547,70471551,70471555,70471557-70471558,70471560-70471561,70471566-70471567,70471570,70471572,70471575-70471578,70471580,70471589-70471590,70471592,70471597-70471599,70471601-70471602,70471606-70471607,70471609,70471614,70471617-70471618,70471622-70471624,70471626,70471629,70471633-70471634,70471636-70471637,70471642-70471643,70471647-70471653,70471655-70471656,70471658,70471660,70471664-70471665,70471667,70471670-70471671,70471676,70471679-70471680,70471682,70471685,70471691,70471695-70471696,70471698,70471700,70471702,70471704,70471706,70471708-70471710,70471712-70471713,70471716-70471717,70471720-70471721,70471724,70471727-70471728,70471730-70471731,70471735-70471736,70471739-70471740,70471743-70471744,70471746,70471750-70471753,70471755-70471757,70471759-70471760,70471763,70471765-70471766,70471772-70471775,70471777,70471780,70475467,70583991,70584632,70590053,70590992,70591009,70591142,70591151,70591230,70591256,70591376,70591779,70592088,70592291,70592302,70592578,70592715,70593698,70593711,70593749,70593878,70594283,70594291-70594292,70594483,70594770,70595026,70595041,70595734,70595955,70595973,70596009,70596389,70596447,70596484,70596488,70597042,70597334,70597772,70598040,70598129,70598134,70598765,70598791,70598946,70599207,70599398,70599743,70599828,70600033,70600199,70600278,70600355,70600366,70600773,70601055,70601595,70601653,70601962,70602338,70602459,70602546,70602752,70602824,70602839,70602918,70603385,70603497,70604032,70604398,70604698,70604905,70604949,70604973,70604998,70605378,706058
set = Set::IntSpan.new(string)
p 'test_run_list'
p Time.now
string2 = set.to_s
p Time.now
assert_equal(string, string2)
end
2005-03-09 15:02:52 +00:00
end
# vi: syntax=off nowrap