aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPjotr Prins2021-08-25 09:54:44 +0200
committerPjotr Prins2021-08-25 09:54:44 +0200
commitbda453acb2aa202a0703e8863fead0f2289c0192 (patch)
treecc69771dce2ce8d1e3ec19440fe9548fa2a33d3a
parentc2681ce7969f24083243a3cb6cd2cb63a774a025 (diff)
downloadpangemma-bda453acb2aa202a0703e8863fead0f2289c0192.tar.gz
More tests and some flexibility with testing floats
-rw-r--r--test/dev_tests.rb25
-rw-r--r--test/lib/test-helpers.rb12
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