diff options
Diffstat (limited to 'dataset.rb')
-rw-r--r-- | dataset.rb | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -260,6 +260,37 @@ class DatasetTest < Test::Unit::TestCase end end + def test_multithreading + dataset = OpenTox::Dataset.find(@datasets.keys[0],@@subjectid) + assert dataset!=nil && dataset.compounds.size>0 && dataset.features.size > 0 + uris = [] + + num = 20 + num.times do |i| + Thread.new do + d = OpenTox::Dataset.new + dataset.compounds.each do |c| + d.add_compound c + end + dataset.features.each do |f,m| + d.add_feature f,m + end + dataset.compounds.each do |c| + dataset.features.keys.each do |f| + dataset.add c,f,rand + end + end + d.save @@subjectid + uris << d.uri + end + end + + sleep 1 while (uris.size < num) + uris.uniq.each{|uri| OpenTox::RestClientWrapper.delete(uri,{:subjectid=>@@subjectid})} + #puts uris.sort.to_yaml + assert_equal uris.size,uris.uniq.size + end + def validate(data) assert_kind_of OpenTox::Dataset, @dataset assert_equal @dataset.data_entries.size, data[:nr_data_entries] if data |