caruby-core 1.4.4 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/History.txt +2 -0
  2. data/README.md +0 -2
  3. data/lib/caruby/migration/migrator.rb +1 -1
  4. data/lib/caruby/version.rb +1 -1
  5. data/test/lib/caruby/csv/csv_mapper_test.rb +40 -0
  6. data/test/lib/caruby/csv/csvio_test.rb +69 -0
  7. data/test/lib/caruby/database/persistable_test.rb +92 -0
  8. data/test/lib/caruby/domain/domain_test.rb +126 -0
  9. data/test/lib/caruby/domain/inversible_test.rb +99 -0
  10. data/test/lib/caruby/domain/reference_visitor_test.rb +130 -0
  11. data/test/lib/caruby/import/java_test.rb +58 -0
  12. data/test/lib/caruby/util/cache_test.rb +23 -0
  13. data/test/lib/caruby/util/class_test.rb +61 -0
  14. data/test/lib/caruby/util/collection_test.rb +379 -0
  15. data/test/lib/caruby/util/command_test.rb +55 -0
  16. data/test/lib/caruby/util/controlled_value_test.rb +26 -0
  17. data/test/lib/caruby/util/domain_extent_test.rb +60 -0
  18. data/test/lib/caruby/util/file_separator_test.rb +30 -0
  19. data/test/lib/caruby/util/inflector_test.rb +12 -0
  20. data/test/lib/caruby/util/lazy_hash_test.rb +34 -0
  21. data/test/lib/caruby/util/merge_test.rb +83 -0
  22. data/test/lib/caruby/util/module_test.rb +29 -0
  23. data/test/lib/caruby/util/options_test.rb +59 -0
  24. data/test/lib/caruby/util/partial_order_test.rb +41 -0
  25. data/test/lib/caruby/util/person_test.rb +115 -0
  26. data/test/lib/caruby/util/pretty_print_test.rb +85 -0
  27. data/test/lib/caruby/util/properties_test.rb +50 -0
  28. data/test/lib/caruby/util/stopwatch_test.rb +18 -0
  29. data/test/lib/caruby/util/topological_sync_enumerator_test.rb +69 -0
  30. data/test/lib/caruby/util/transitive_closure_test.rb +59 -0
  31. data/test/lib/caruby/util/tree_test.rb +23 -0
  32. data/test/lib/caruby/util/trie_test.rb +14 -0
  33. data/test/lib/caruby/util/validation_test.rb +14 -0
  34. data/test/lib/caruby/util/version_test.rb +31 -0
  35. data/test/lib/caruby/util/visitor_test.rb +277 -0
  36. data/test/lib/caruby/util/weak_hash_test.rb +45 -0
  37. metadata +179 -161
@@ -0,0 +1,45 @@
1
+ $:.unshift 'lib'
2
+ $:.unshift 'examples/clinical_trials/lib'
3
+
4
+ require 'caruby/util/log'
5
+ CaRuby::Log.instance.open('test/results/log/clinical_trials.log', :shift_age => 10, :shift_size => 1048576, :debug => true)
6
+
7
+ require 'caruby/util/weak_hash'
8
+ require 'clinical_trials'
9
+ require File.join(File.dirname(__FILE__), '..', 'test_case')
10
+
11
+ class WeakHashTest < Test::Unit::TestCase
12
+ def setup
13
+ @hash = CaRuby::WeakHash.new
14
+ end
15
+
16
+ def test_accessors
17
+ study = ClinicalTrials::Study.new(:identifier => 1)
18
+ @hash[1] = study
19
+ assert_equal(study, @hash[1], "Value not found for key")
20
+ end
21
+
22
+ def test_each
23
+ study = ClinicalTrials::Study.new(:identifier => 1)
24
+ @hash[1] = study
25
+ assert_equal([[1, study]], @hash.to_a, "Weak hash enumeration incorrect")
26
+ end
27
+
28
+ # Verify that a strongly referenced hash entry is not reclaimed and weakly referenced entries are
29
+ # eventually reclaimend.
30
+ def test_stress
31
+ # a strongly referenced entry
32
+ pinned = @hash[1] = ClinicalTrials::Study.new(:identifier => 1)
33
+ # make weakly referenced entries until one is reclaimed
34
+ 2.upto(1000000) do |n|
35
+ @hash[n] = ClinicalTrials::Study.new(:identifier => n)
36
+ # the strongly referenced entry should always be retained.
37
+ # note that the test fails if the reference is @hash[1]. jRuby or Java probably
38
+ # optimize @hash[1] into a strong reference, but not @hash[pinned.identifier].
39
+ assert_not_nil(@hash[pinned.identifier], "Strongly referenced hash entry reclaimed")
40
+ # done when the second entry is reclaimed
41
+ return unless @hash[2]
42
+ end
43
+ fail("Weak hash entries not garbage-collected after 1,000,000 entries")
44
+ end
45
+ end
metadata CHANGED
@@ -1,178 +1,196 @@
1
1
  --- !ruby/object:Gem::Specification
2
- extensions: []
2
+ name: caruby-core
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 1.4.5
6
+ platform: ruby
7
+ authors:
8
+ - OHSU
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
3
12
 
4
- homepage: http://rubyforge.org/projects/caruby
13
+ date: 2011-02-26 00:00:00 -08:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: dbi
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: fastercsv
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :runtime
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: uom
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id003
49
+ description: " caRuby is a JRuby facade for interaction with caBIG applications.\n"
50
+ email: caruby.org@gmail.com
5
51
  executables: []
6
52
 
7
- version: !ruby/object:Gem::Version
8
- prerelease: false
9
- version: 1.4.4
10
- segments:
11
- - 1
12
- - 4
13
- - 4
14
- post_install_message:
15
- date: 2010-11-30 08:00:00 +00:00
16
- files:
17
- - lib/caruby.rb
18
- - lib/caruby/database.rb
19
- - lib/caruby/resource.rb
20
- - lib/caruby/version.rb
21
- - lib/caruby/active_support/inflections.rb
22
- - lib/caruby/active_support/inflector.rb
23
- - lib/caruby/active_support/README.txt
24
- - lib/caruby/active_support/core_ext/string.rb
25
- - lib/caruby/active_support/core_ext/string/inflections.rb
26
- - lib/caruby/cli/application.rb
27
- - lib/caruby/cli/command.rb
28
- - lib/caruby/csv/csv_mapper.rb
29
- - lib/caruby/csv/csvio.rb
30
- - lib/caruby/database/fetched_matcher.rb
31
- - lib/caruby/database/lazy_loader.rb
32
- - lib/caruby/database/persistable.rb
33
- - lib/caruby/database/persistence_service.rb
34
- - lib/caruby/database/persistifier.rb
35
- - lib/caruby/database/reader.rb
36
- - lib/caruby/database/saved_matcher.rb
37
- - lib/caruby/database/search_template_builder.rb
38
- - lib/caruby/database/sql_executor.rb
39
- - lib/caruby/database/store_template_builder.rb
40
- - lib/caruby/database/writer.rb
41
- - lib/caruby/domain/attribute_initializer.rb
42
- - lib/caruby/domain/attribute_metadata.rb
43
- - lib/caruby/domain/id_alias.rb
44
- - lib/caruby/domain/inversible.rb
45
- - lib/caruby/domain/java_attribute_metadata.rb
46
- - lib/caruby/domain/merge.rb
47
- - lib/caruby/domain/properties.rb
48
- - lib/caruby/domain/reference_visitor.rb
49
- - lib/caruby/domain/resource_attributes.rb
50
- - lib/caruby/domain/resource_dependency.rb
51
- - lib/caruby/domain/resource_introspection.rb
52
- - lib/caruby/domain/resource_inverse.rb
53
- - lib/caruby/domain/resource_metadata.rb
54
- - lib/caruby/domain/resource_module.rb
55
- - lib/caruby/domain/uniquify.rb
56
- - lib/caruby/import/java.rb
57
- - lib/caruby/migration/migratable.rb
58
- - lib/caruby/migration/migrator.rb
59
- - lib/caruby/migration/resource_module.rb
60
- - lib/caruby/migration/uniquify.rb
61
- - lib/caruby/util/attribute_path.rb
62
- - lib/caruby/util/cache.rb
63
- - lib/caruby/util/class.rb
64
- - lib/caruby/util/collection.rb
65
- - lib/caruby/util/controlled_value.rb
66
- - lib/caruby/util/coordinate.rb
67
- - lib/caruby/util/domain_extent.rb
68
- - lib/caruby/util/file_separator.rb
69
- - lib/caruby/util/inflector.rb
70
- - lib/caruby/util/log.rb
71
- - lib/caruby/util/math.rb
72
- - lib/caruby/util/merge.rb
73
- - lib/caruby/util/module.rb
74
- - lib/caruby/util/options.rb
75
- - lib/caruby/util/partial_order.rb
76
- - lib/caruby/util/person.rb
77
- - lib/caruby/util/pretty_print.rb
78
- - lib/caruby/util/properties.rb
79
- - lib/caruby/util/stopwatch.rb
80
- - lib/caruby/util/topological_sync_enumerator.rb
81
- - lib/caruby/util/transitive_closure.rb
82
- - lib/caruby/util/tree.rb
83
- - lib/caruby/util/trie.rb
84
- - lib/caruby/util/uniquifier.rb
85
- - lib/caruby/util/validation.rb
86
- - lib/caruby/util/version.rb
87
- - lib/caruby/util/visitor.rb
88
- - lib/caruby/util/weak_hash.rb
89
- - lib/caruby/yard/resource_metadata_handler.rb
90
- - History.txt
91
- - LEGAL
92
- - LICENSE
93
- - README.md
94
- rubygems_version: 1.3.7
95
- rdoc_options: []
53
+ extensions: []
96
54
 
97
- signing_key:
98
- cert_chain: []
55
+ extra_rdoc_files: []
99
56
 
100
- name: caruby-core
101
- has_rdoc: yard
102
- platform: ruby
103
- summary: Ruby facade for caBIG applications.
104
- default_executable:
105
- bindir: bin
57
+ files:
58
+ - lib/caruby.rb
59
+ - lib/caruby/database.rb
60
+ - lib/caruby/resource.rb
61
+ - lib/caruby/version.rb
62
+ - lib/caruby/active_support/inflections.rb
63
+ - lib/caruby/active_support/inflector.rb
64
+ - lib/caruby/active_support/README.txt
65
+ - lib/caruby/active_support/core_ext/string.rb
66
+ - lib/caruby/active_support/core_ext/string/inflections.rb
67
+ - lib/caruby/cli/application.rb
68
+ - lib/caruby/cli/command.rb
69
+ - lib/caruby/csv/csv_mapper.rb
70
+ - lib/caruby/csv/csvio.rb
71
+ - lib/caruby/database/fetched_matcher.rb
72
+ - lib/caruby/database/lazy_loader.rb
73
+ - lib/caruby/database/persistable.rb
74
+ - lib/caruby/database/persistence_service.rb
75
+ - lib/caruby/database/persistifier.rb
76
+ - lib/caruby/database/reader.rb
77
+ - lib/caruby/database/saved_matcher.rb
78
+ - lib/caruby/database/search_template_builder.rb
79
+ - lib/caruby/database/sql_executor.rb
80
+ - lib/caruby/database/store_template_builder.rb
81
+ - lib/caruby/database/writer.rb
82
+ - lib/caruby/domain/attribute_initializer.rb
83
+ - lib/caruby/domain/attribute_metadata.rb
84
+ - lib/caruby/domain/id_alias.rb
85
+ - lib/caruby/domain/inversible.rb
86
+ - lib/caruby/domain/java_attribute_metadata.rb
87
+ - lib/caruby/domain/merge.rb
88
+ - lib/caruby/domain/properties.rb
89
+ - lib/caruby/domain/reference_visitor.rb
90
+ - lib/caruby/domain/resource_attributes.rb
91
+ - lib/caruby/domain/resource_dependency.rb
92
+ - lib/caruby/domain/resource_introspection.rb
93
+ - lib/caruby/domain/resource_inverse.rb
94
+ - lib/caruby/domain/resource_metadata.rb
95
+ - lib/caruby/domain/resource_module.rb
96
+ - lib/caruby/domain/uniquify.rb
97
+ - lib/caruby/import/java.rb
98
+ - lib/caruby/migration/migratable.rb
99
+ - lib/caruby/migration/migrator.rb
100
+ - lib/caruby/migration/resource_module.rb
101
+ - lib/caruby/migration/uniquify.rb
102
+ - lib/caruby/util/attribute_path.rb
103
+ - lib/caruby/util/cache.rb
104
+ - lib/caruby/util/class.rb
105
+ - lib/caruby/util/collection.rb
106
+ - lib/caruby/util/controlled_value.rb
107
+ - lib/caruby/util/coordinate.rb
108
+ - lib/caruby/util/domain_extent.rb
109
+ - lib/caruby/util/file_separator.rb
110
+ - lib/caruby/util/inflector.rb
111
+ - lib/caruby/util/log.rb
112
+ - lib/caruby/util/math.rb
113
+ - lib/caruby/util/merge.rb
114
+ - lib/caruby/util/module.rb
115
+ - lib/caruby/util/options.rb
116
+ - lib/caruby/util/partial_order.rb
117
+ - lib/caruby/util/person.rb
118
+ - lib/caruby/util/pretty_print.rb
119
+ - lib/caruby/util/properties.rb
120
+ - lib/caruby/util/stopwatch.rb
121
+ - lib/caruby/util/topological_sync_enumerator.rb
122
+ - lib/caruby/util/transitive_closure.rb
123
+ - lib/caruby/util/tree.rb
124
+ - lib/caruby/util/trie.rb
125
+ - lib/caruby/util/uniquifier.rb
126
+ - lib/caruby/util/validation.rb
127
+ - lib/caruby/util/version.rb
128
+ - lib/caruby/util/visitor.rb
129
+ - lib/caruby/util/weak_hash.rb
130
+ - lib/caruby/yard/resource_metadata_handler.rb
131
+ - test/lib/caruby/csv/csv_mapper_test.rb
132
+ - test/lib/caruby/csv/csvio_test.rb
133
+ - test/lib/caruby/database/persistable_test.rb
134
+ - test/lib/caruby/domain/domain_test.rb
135
+ - test/lib/caruby/domain/inversible_test.rb
136
+ - test/lib/caruby/domain/reference_visitor_test.rb
137
+ - test/lib/caruby/import/java_test.rb
138
+ - test/lib/caruby/util/cache_test.rb
139
+ - test/lib/caruby/util/class_test.rb
140
+ - test/lib/caruby/util/collection_test.rb
141
+ - test/lib/caruby/util/command_test.rb
142
+ - test/lib/caruby/util/controlled_value_test.rb
143
+ - test/lib/caruby/util/domain_extent_test.rb
144
+ - test/lib/caruby/util/file_separator_test.rb
145
+ - test/lib/caruby/util/inflector_test.rb
146
+ - test/lib/caruby/util/lazy_hash_test.rb
147
+ - test/lib/caruby/util/merge_test.rb
148
+ - test/lib/caruby/util/module_test.rb
149
+ - test/lib/caruby/util/options_test.rb
150
+ - test/lib/caruby/util/partial_order_test.rb
151
+ - test/lib/caruby/util/person_test.rb
152
+ - test/lib/caruby/util/pretty_print_test.rb
153
+ - test/lib/caruby/util/properties_test.rb
154
+ - test/lib/caruby/util/stopwatch_test.rb
155
+ - test/lib/caruby/util/topological_sync_enumerator_test.rb
156
+ - test/lib/caruby/util/transitive_closure_test.rb
157
+ - test/lib/caruby/util/tree_test.rb
158
+ - test/lib/caruby/util/trie_test.rb
159
+ - test/lib/caruby/util/validation_test.rb
160
+ - test/lib/caruby/util/version_test.rb
161
+ - test/lib/caruby/util/visitor_test.rb
162
+ - test/lib/caruby/util/weak_hash_test.rb
163
+ - History.txt
164
+ - LEGAL
165
+ - LICENSE
166
+ - README.md
167
+ has_rdoc: true
168
+ homepage: http://rubyforge.org/projects/caruby
106
169
  licenses:
107
- - MIT
108
- required_rubygems_version: !ruby/object:Gem::Requirement
109
- none: false
110
- requirements:
111
- - - '>='
112
- - !ruby/object:Gem::Version
113
- version: "0"
114
- segments:
115
- - 0
170
+ - MIT
171
+ post_install_message:
172
+ rdoc_options: []
173
+
174
+ require_paths:
175
+ - lib
116
176
  required_ruby_version: !ruby/object:Gem::Requirement
117
177
  none: false
118
178
  requirements:
119
- - - '>='
120
- - !ruby/object:Gem::Version
121
- version: "0"
122
- segments:
123
- - 0
124
- require_paths:
125
- - lib
126
- specification_version: 3
127
- test_files: []
128
-
129
- dependencies:
130
- - !ruby/object:Gem::Dependency
131
- prerelease: false
132
- type: :runtime
133
- name: dbi
134
- version_requirements: &id001 !ruby/object:Gem::Requirement
135
- none: false
136
- requirements:
137
- - - '>='
138
- - !ruby/object:Gem::Version
139
- version: "0"
140
- segments:
141
- - 0
142
- requirement: *id001
143
- - !ruby/object:Gem::Dependency
144
- prerelease: false
145
- type: :runtime
146
- name: fastercsv
147
- version_requirements: &id002 !ruby/object:Gem::Requirement
148
- none: false
149
- requirements:
150
- - - '>='
179
+ - - ">="
151
180
  - !ruby/object:Gem::Version
152
181
  version: "0"
153
- segments:
154
- - 0
155
- requirement: *id002
156
- - !ruby/object:Gem::Dependency
157
- prerelease: false
158
- type: :runtime
159
- name: uom
160
- version_requirements: &id003 !ruby/object:Gem::Requirement
161
- none: false
162
- requirements:
163
- - - '>='
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ">="
164
186
  - !ruby/object:Gem::Version
165
187
  version: "0"
166
- segments:
167
- - 0
168
- requirement: *id003
169
- description: " caRuby is a JRuby facade for interaction with caBIG applications.\n"
170
- email: caruby.org@gmail.com
171
- authors:
172
- - OHSU
173
- extra_rdoc_files: []
174
-
175
188
  requirements: []
176
189
 
177
190
  rubyforge_project: caruby
178
- autorequire:
191
+ rubygems_version: 1.5.2
192
+ signing_key:
193
+ specification_version: 3
194
+ summary: Ruby facade for caBIG applications.
195
+ test_files: []
196
+