From bda453acb2aa202a0703e8863fead0f2289c0192 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Wed, 25 Aug 2021 09:54:44 +0200 Subject: More tests and some flexibility with testing floats --- test/dev_tests.rb | 25 ++++++++++++++++++++++++- test/lib/test-helpers.rb | 12 +++++++++--- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/test/dev_tests.rb b/test/dev_tests.rb index d63b8fe..fb3fecf 100644 --- a/test/dev_tests.rb +++ b/test/dev_tests.rb @@ -38,6 +38,29 @@ class TestQuick < MiniTest::Test -lmm 2 -no-check -maf 0.1 \ -o BXDLMM") - expect("output/BXDLMM.assoc.txt",[[2,9,"1.234747e-01"]]) + expect("output/BXDLMM.assoc.txt",[[2,9,"1.234747e-01"], + [:max,9,"9.997119e-01"]]) + end + + def test_mouse_hs1940_loco + assert gemma("-g ./example/mouse_hs1940.geno.txt.gz \ + -p ./example/mouse_hs1940.pheno.txt \ + -a ./example/mouse_hs1940.anno.txt \ + -snps ./example/mouse_hs1940_snps.txt \ + -nind 400 -loco 1 -gk \ + -o mouse_hs1940_loco") + + assert gemma("-g ./example/mouse_hs1940.geno.txt.gz \ + -p ./example/mouse_hs1940.pheno.txt \ + -n 1 \ + -loco 1 \ + -a ./example/mouse_hs1940.anno.txt \ + -k ./output/mouse_hs1940_loco.cXX.txt \ + -snps ./example/mouse_hs1940_snps.txt \ + -lmm \ + -nind 400 -no-check \ + -o mouse_hs1940_loco") + expect("output/mouse_hs1940_loco.assoc.txt",[[2,9,"-3.073643e+02"], + [:max,11,"9.716047e-01"]]) end end diff --git a/test/lib/test-helpers.rb b/test/lib/test-helpers.rb index 72b9cd9..d2989e0 100644 --- a/test/lib/test-helpers.rb +++ b/test/lib/test-helpers.rb @@ -14,11 +14,17 @@ module TestHelpers end def expect(fn, list) - lines = File.read(fn).split("\n") # avoid this for large files + lines = File.read(fn).split("\n") + lines = lines.map { |l| l.split("\t") } # avoid this for large files list.each do | l | line,colnum,value = l - cols = lines[line].chomp.split("\t") - assert_equal value,cols[colnum] + if line == :max + cols = lines.max_by {|a| a[colnum].to_f} + else + cols = lines[line] + end + # assert_equal value,cols[colnum] + assert_in_delta value.to_f,cols[colnum].to_f, 0.001 end end end -- cgit v1.2.3