class NatSetTest
Public Instance Methods
test_complement()
click to toggle source
# File lib/natset.rb, line 314 def test_complement assert_equal(NatSet.empty, ~NatSet.universal) assert_equal(NatSet.universal, ~NatSet.empty) assert_equal(NatSet._new(1, 2), ~NatSet._new(0, 1, 2)) assert_equal(NatSet._new(0, 1, 2), ~NatSet._new(1, 2)) end
test_each_range()
click to toggle source
# File lib/natset.rb, line 402 def test_each_range rs = []; NatSet.new() .each_range {|r| rs << r}; assert_equal([], rs) rs = []; NatSet.new(0).each_range {|r| rs << r}; assert_equal([0..0], rs) rs = []; NatSet.new(1).each_range {|r| rs << r}; assert_equal([1..1], rs) rs = []; NatSet.new(1..3).each_range {|r| rs << r}; assert_equal([1..3], rs) rs = []; NatSet.new(1...3).each_range {|r| rs << r}; assert_equal([1..2], rs) rs = []; NatSet.new(1..-1).each_range {|r| rs << r}; assert_equal([1..-1], rs) end
test_empty()
click to toggle source
# File lib/natset.rb, line 296 def test_empty assert(NatSet.empty.empty?) end
test_intersect()
click to toggle source
# File lib/natset.rb, line 329 def test_intersect assert_equal(NatSet.empty, NatSet.empty & NatSet.empty) assert_equal(NatSet.empty, NatSet.empty & NatSet.universal) assert_equal(NatSet.empty, NatSet.universal & NatSet.empty) assert_equal(NatSet.universal, NatSet.universal & NatSet.universal) assert_equal(NatSet.new(0), NatSet.new(0, 2) & NatSet.new(0, 1)) end
test_max()
click to toggle source
# File lib/natset.rb, line 396 def test_max assert_equal(nil, NatSet.new().max) assert_equal(10, NatSet.new(1..10).max) assert_equal(nil, NatSet.new(1..-1).max) end
test_min()
click to toggle source
# File lib/natset.rb, line 391 def test_min assert_equal(nil, NatSet.new().min) assert_equal(1, NatSet.new(1..10).min) end
test_new()
click to toggle source
# File lib/natset.rb, line 345 def test_new assert_equal([1, 2], NatSet.new(1).es) assert_equal([1, 3], NatSet.new(1, 2).es) assert_equal([1, 4], NatSet.new(1, 2, 3).es) assert_equal([1, 4], NatSet.new(1, 3, 2).es) assert_equal([10, 21], NatSet.new(10..20).es) assert_equal([10, 20], NatSet.new(10...20).es) assert_equal([1, 2, 3, 4, 5, 6], NatSet.new(1, 3, 5).es) assert_equal([1, 16], NatSet.new(5..15, 1..10).es) assert_equal([1, 16], NatSet.new(11..15, 1..10).es) assert_raises(ArgumentError) {NatSet.new("a")} assert_raises(ArgumentError) {NatSet.new("a".."b")} assert_raises(ArgumentError) {NatSet.new(-1)} assert_raises(ArgumentError) {NatSet.new(-1..3)} end
test_open()
click to toggle source
# File lib/natset.rb, line 304 def test_open assert(!NatSet.empty.open?) assert(NatSet.universal.open?) end
test_singleton()
click to toggle source
# File lib/natset.rb, line 309 def test_singleton assert_equal(1, NatSet._new(1, 2).singleton?) assert_equal(nil, NatSet._new(1, 3).singleton?) end
test_split()
click to toggle source
# File lib/natset.rb, line 361 def test_split u = NatSet.universal assert_equal([[NatSet.universal]], u.split()) assert_equal([[NatSet.universal]], u.split(NatSet.empty)) assert_equal([[NatSet.universal, u]], u.split(u)) n = NatSet.new(10..20) assert_equal([[NatSet.new(0..9, 21..-1)], [NatSet.new(10..20), n]], u.split(n)) ns = [NatSet.new(10..20), NatSet.new(10..20)] assert_equal([[NatSet.new(0..9, 21..-1)], [NatSet.new(10..20), *ns]], u.split(*ns)) ns = [NatSet.new(1..30), NatSet.new(5..40)] assert_equal([[NatSet.new(0, 41..-1)], [NatSet.new(1..4), ns[0]], [NatSet.new(31..40), ns[1]], [NatSet.new(5..30), *ns]], u.split(*ns)) ns = [NatSet.new(1..30), NatSet.new(5..20)] assert_equal([[NatSet.new(0, 31..-1)], [NatSet.new(1..4, 21..30), ns[0]], [NatSet.new(5..20), *ns]], u.split(*ns)) end
test_subtract()
click to toggle source
# File lib/natset.rb, line 337 def test_subtract assert_equal(NatSet.empty, NatSet.empty - NatSet.empty) assert_equal(NatSet.empty, NatSet.empty - NatSet.universal) assert_equal(NatSet.universal, NatSet.universal - NatSet.empty) assert_equal(NatSet.empty, NatSet.universal - NatSet.universal) assert_equal(NatSet.new(2), NatSet.new(0, 2) - NatSet.new(0, 1)) end
test_union()
click to toggle source
# File lib/natset.rb, line 321 def test_union assert_equal(NatSet.empty, NatSet.empty + NatSet.empty) assert_equal(NatSet.universal, NatSet.empty + NatSet.universal) assert_equal(NatSet.universal, NatSet.universal + NatSet.empty) assert_equal(NatSet.universal, NatSet.universal + NatSet.universal) assert_equal(NatSet.new(0..2), NatSet.new(0, 2) + NatSet.new(0, 1)) end
test_universal()
click to toggle source
# File lib/natset.rb, line 300 def test_universal assert(NatSet.universal.universal?) end