Sha256: 32665a1ce8e58db469560efeb0ab725d5e3f4b72208dbfc38f5620ce97de3c3e

Contents?: true

Size: 1.2 KB

Versions: 139

Compression:

Stored size: 1.2 KB

Contents

require File.join(File.expand_path(File.dirname(__FILE__)), '../../..', 'test_helper.rb')
require 'rbbt/util/misc/bgzf'

class TestBgzf < Test::Unit::TestCase
  def _test_Bgzf
    content = "1234567890" * 1000000
    TmpFile.with_file(content) do |file|
      compressed = file + '.gz'
      `bgzip #{file} -c > #{compressed}`
      stream = Bgzf.setup File.open(compressed)
      assert_equal "1234", stream.read(4)
      assert_equal "56", stream.read(2)
      stream.seek 500003
      assert_equal "4567", stream.read(4)
      assert_equal "89", stream.read(2)
    end
  end

  def test_tsv
    require 'rbbt/tsv'
    TmpFile.with_file(datafile_test(:identifiers).read) do |file|
      Misc.benchmark do
        tsv = TSV.open(Open.open(file))
      end

      `gzip #{file}`
      stream = Open.open(file + '.gz')
      Misc.benchmark do
        tsv = TSV.open(stream)
      end

      `gunzip #{file}.gz`
      compressed = file + '.bgz'
      `bgzip #{file} -c > #{compressed}`
      stream = Bgzf.setup File.open(compressed)
      Misc.benchmark do
        tsv = TSV.open(stream)
      end

    end
  end

  def _test_bgzip
    assert File.exist?(Bgzf.bgzip_cmd)
    assert 'bgzip', File.basename(Bgzf.bgzip_cmd)
  end
end

Version data entries

139 entries across 139 versions & 1 rubygems

Version Path
rbbt-util-5.37.4 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.37.3 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.37.1 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.37.0 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.36.0 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.35.4 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.35.3 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.35.2 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.35.1 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.27 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.26 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.25 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.24 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.23 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.22 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.21 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.20 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.18 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.17 test/rbbt/util/misc/test_bgzf.rb
rbbt-util-5.34.16 test/rbbt/util/misc/test_bgzf.rb