From ec9aaf16bff077231e7fe3ff300492df3df432e2 Mon Sep 17 00:00:00 2001 From: Christoph Helma Date: Fri, 17 Jun 2011 12:20:06 +0200 Subject: dumpfiles implemented --- fminer.rb | 55 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/fminer.rb b/fminer.rb index 93644c4..87ea4a4 100644 --- a/fminer.rb +++ b/fminer.rb @@ -5,47 +5,58 @@ require 'validate-owl.rb' class FminerTest < Test::Unit::TestCase + def setup + @dump_dir = FileUtils.mkdir_p File.join(File.dirname(__FILE__),"dump",File.basename(__FILE__,".rb")) + FileUtils.mkdir_p File.join(File.dirname(__FILE__),"reference",File.basename(__FILE__,".rb")) + end + + def cleanup # executed only when assertions succeed (teardown is called even when assertions fail) + FileUtils.cp @dumpfile, @dumpfile.sub(/dump/,"reference") + FileUtils.rm @dumpfile + @dataset.delete(@@subjectid) + end + + def dump(method) + @dataset = OpenTox::Dataset.find @dataset_uri, @@subjectid + @dumpfile = File.join(@dump_dir,method.to_s)+".yaml" + File.open(@dumpfile,"w+"){|f| f.puts @dataset.to_yaml} + end + def test_bbrc feature = @@classification_training_dataset.features.keys.first - dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s - d =OpenTox::Dataset.new dataset_uri, @@subjectid - d.load_features(@@subjectid) - assert_equal 52, d.features.size - d.delete(@@subjectid) + @dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s + dump __method__ + assert_equal 52, @dataset.features.size + cleanup end def test_regression_bbrc feature = File.join @@regression_training_dataset.uri,"feature/LC50_mmol" - dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid, :feature_type=>"paths"}).to_s - d =OpenTox::Dataset.new dataset_uri, @@subjectid - d.load_features(@@subjectid) - #assert_equal 185, d.features.size - assert_equal 219, d.features.size - d.delete(@@subjectid) + @dataset_uri = OpenTox::Algorithm::Fminer::BBRC.new.run({:dataset_uri => @@regression_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid, :feature_type=>"paths"}).to_s + dump __method__ + assert_equal 219, @dataset.features.size + cleanup end def test_last feature = @@classification_training_dataset.features.keys.first - dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s - d =OpenTox::Dataset.new dataset_uri, @@subjectid - d.load_features(@@subjectid) - assert_equal 23, d.features.size - d.delete(@@subjectid) + @dataset_uri = OpenTox::Algorithm::Fminer::LAST.new.run({:dataset_uri => @@classification_training_dataset.uri, :prediction_feature => feature, :subjectid => @@subjectid}).to_s + dump __method__ + assert_equal 23, @dataset.features.size + cleanup end def test_bbrc_rest_parameters feature = @@classification_training_dataset.features.keys.first - #call = "curl -X POST #{File.join CONFIG[:services]["opentox-algorithm"],"fminer","bbrc"} -d \"dataset_uri=#{CGI.escape @@classification_training_dataset.uri}\" -d \"prediction_feature=#{CGI.escape feature}\" -d \"backbone=true\" -d \"min_frequency=2\"" - dataset_uri = OpenTox::RestClientWrapper.post(File.join(CONFIG[:services]["opentox-algorithm"],"fminer","bbrc"),{ + @dataset_uri = OpenTox::RestClientWrapper.post(File.join(CONFIG[:services]["opentox-algorithm"],"fminer","bbrc"),{ "dataset_uri" => @@classification_training_dataset.uri, "prediction_feature" => feature, "backbone" => true, "min_frequency" => 2, :subjectid => @@subjectid }) - d =OpenTox::Dataset.new dataset_uri, @@subjectid - d.load_features(@@subjectid) - assert_equal 52, d.features.size - + dump __method__ + assert_equal 52, @dataset.features.size + cleanup end # Deactivated by AM because of efficiency problems (does not return) -- cgit v1.2.3