Method: NatSetTest#test_split

Defined in:
lib/natset.rb

#test_splitObject



361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
# 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