summaryrefslogtreecommitdiff
path: root/test-util.rb
diff options
context:
space:
mode:
authorrautenberg <rautenberg@in-silico.ch>2012-03-13 15:45:11 +0100
committerrautenberg <rautenberg@in-silico.ch>2012-03-13 15:45:11 +0100
commited3793243057f14fbe94a2eaed11cc07bcce0949 (patch)
treec31d0bdbd048ab7525c8a6911d470388dcffb761 /test-util.rb
parent2ace4b04bb655328fc8cd512b9a45edd9999fbf8 (diff)
parentc5eb2319eaedfb289d02efea43019008500e7511 (diff)
Merge branch 'release/v3.1.0'v3.1.0
Diffstat (limited to 'test-util.rb')
-rw-r--r--test-util.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/test-util.rb b/test-util.rb
new file mode 100644
index 0000000..2620656
--- /dev/null
+++ b/test-util.rb
@@ -0,0 +1,36 @@
+require 'rubygems'
+require 'test/unit'
+
+module TestUtil
+
+ def dataset_equal(d,d2)
+ assert d.compounds.sort==d2.compounds.sort,
+ d.compounds.sort.to_yaml+"\n!=\n"+d2.compounds.sort.to_yaml
+ assert d.features.keys.size==d2.features.keys.size,
+ d.features.keys.to_yaml+"\n!=\n"+d2.features.keys.to_yaml
+ assert d.features.keys.sort==d2.features.keys.sort,
+ d.features.keys.sort.to_yaml+"\n!=\n"+d2.features.keys.sort.to_yaml
+ d.compounds.each do |c|
+ d.features.keys.each do |f|
+ assert_array_about_equal d.data_entries[c][f],d2.data_entries[c][f]
+ end
+ end
+ end
+
+ def assert_array_about_equal(a,a2)
+ if (a!=nil || a2!=nil)
+ raise "no arrays #{a.class} #{a2.class}" unless a.is_a?(Array) and a2.is_a?(Array)
+ assert a.size==a2.size
+ a.sort!
+ a2.sort!
+ a.size.times do |i|
+ if (a[i].is_a?(Float) and a2[i].is_a?(Float))
+ assert (a[i]-a2[i]).abs<0.0000001,"#{a[i]}(#{a[i].class}) != #{a2[i]}(#{a2[i].class})"
+ else
+ assert a[i]==a2[i],"#{a[i]}(#{a[i].class}) != #{a2[i]}(#{a2[i].class})"
+ end
+ end
+ end
+ end
+
+end \ No newline at end of file