Sha256: 74522c6376ce4d3934fa408de12cec66459ce2959e932cb5a908092ddc618755

Contents?: true

Size: 1.14 KB

Versions: 10

Compression:

Stored size: 1.14 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
require 'rbbt/statistics/fdr'
require 'test/unit'
require 'rsruby'

class TestFDR < Test::Unit::TestCase
  def clean(values)
    if Array === values
      values.collect{|v| (v * 10000).to_i.to_f / 10000}
    else
      (values * 10000).to_i.to_f / 10000
    end
  end

  def copy(values)
    values.collect{|v| v + 0.0}
  end

  def setup
    @r = RSRuby.instance
    @values = [0.001, 0.002, 0.003, 0.003, 0.003, 0.004, 0.006, 0.07, 0.09]
    @threshold = 0.01
    @r_adj = @r.p_adjust(@values,'BH')

  end

  def test_step_up
    assert_equal(0.006, clean(FDR.step_up(@values, @threshold)))
    assert_equal(clean(FDR.step_up_native(@values, @threshold)), clean(FDR.step_up_fast(@values,@threshold)))
    assert_equal(@r_adj.select{|v| v <= @threshold}.length, @values.select{|v| v <= FDR.step_up(@values, @threshold)}.length)
  end

  def test_adjust
    assert_equal(clean(@r_adj), clean(FDR.adjust_native(@values)))
    assert_equal(clean(FDR.adjust_fast(@values)), clean(FDR.adjust_native(@values)))

    assert_equal(clean(@r_adj), clean(FDR.adjust_fast_self(copy(@values))))
  end
end


Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rbbt-dm-1.1.4 test/rbbt/statistics/test_fdr.rb
rbbt-dm-1.1.3 test/rbbt/statistics/test_fdr.rb
rbbt-dm-1.1.2 test/rbbt/statistics/test_fdr.rb
rbbt-dm-1.1.1 test/rbbt/statistics/test_fdr.rb
rbbt-dm-1.1.0 test/rbbt/statistics/test_fdr.rb
rbbt-dm-1.0.0 test/rbbt/statistics/test_fdr.rb
rbbt-dm-0.0.4 test/rbbt/statistics/test_fdr.rb
rbbt-dm-0.0.3 test/rbbt/statistics/test_fdr.rb
rbbt-dm-0.0.2 test/rbbt/statistics/test_fdr.rb
rbbt-dm-0.0.1 test/rbbt/statistics/test_fdr.rb