From f65de1edb7ad66f5d0d8a34bcb0152b60bf37465 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Mon, 30 Jan 2012 12:20:41 +0100 Subject: add test for datset.merge method --- dataset.rb | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/dataset.rb b/dataset.rb index fe249b2..96e8313 100644 --- a/dataset.rb +++ b/dataset.rb @@ -220,7 +220,48 @@ class DatasetTest < Test::Unit::TestCase end =begin -=end +=end + + def test_merge() + #upload + dataset1 = OpenTox::Dataset.create_from_csv_file(File.new("data/hamster_carcinogenicity.csv").path, @subjectid) + dataset2 = OpenTox::Dataset.create_from_csv_file(File.new("data/multi_cell_call.csv").path, @subjectid) + #merge1 + title = "test merge" + dataset_merge1 = OpenTox::Dataset.merge(dataset1, dataset2, { DC.title => title,DC.creator => "testsuite"}, @subjectid ) + dataset_reloaded1 = OpenTox::Dataset.find(dataset_merge1.uri, @subjectid) + #test1 + [dataset_merge1, dataset_reloaded1].each do |d| + assert_equal d.metadata[DC.title],title + assert_equal d.features.size,(dataset1.features.size+dataset2.features.size) + assert_equal d.compounds.size,(dataset1.compounds+dataset2.compounds).uniq.size + [dataset1, dataset2].each do |d_i| + d_i.compounds.each{|c| assert d.compounds.include?(c)} + d_i.features.keys.each{|f| assert d.features.keys.include?(f)} + d_i.features.keys.each do |f| + assert_equal d_i.features[f],d.features[f] + d_i.compounds do |c| + assert_equal d_i.data_entries[c][f],d.data_entries[c][f] + end + end + end + end + #merge2 + compounds1 = dataset1.compounds[0..dataset1.compounds.size/2] + features1 = [] + dataset_merge2 = OpenTox::Dataset.merge(dataset1, dataset2, {}, @subjectid, features1, nil, compounds1 ) + dataset_reloaded2 = OpenTox::Dataset.find(dataset_merge2.uri, @subjectid) + #test2 + [dataset_merge2, dataset_reloaded2].each do |d| + assert_equal d.features.size,dataset2.features.size + assert_equal d.compounds.size,(compounds1+dataset2.compounds).uniq.size + end + #cleanup + [dataset_merge1, dataset_merge2, dataset1, dataset2].each do |d| + OpenTox::RestClientWrapper.delete(d.uri,{:subjectid => @subjectid}) + end + end + def dataset_equal(d,d2) assert d.compounds.sort==d2.compounds.sort, -- cgit v1.2.3