blob: 262065620beaac49b6e9f1a650af297deaddf459 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
|